How much salary can you expect for your tech skill?
The skills I demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
Introduction
There are many kind of jobs in the world, and each job needs more than one skill. Definitely salary also depends on skill level. Every People want to get salary more than now, so we try to learn new skill and move to another company.
If so, How much salary we can expect with new skills or own skills? I analyzed jobs which related to computer and data skills with web crawling.
Web Scraping
target site : https://www.indeed.com
Indeed.com is search engine which can collect and find job recruit information. This web has simple interface, and there are several search conditions like job title, company name, keyword and location. It shows information about company, rate, salary by search result. I developed scrapy application which input keyword and crawl result.
I used scrapy for crawling, and I used Pandas, NumPy, Plotly for data cleansing and visualization. And I collected data as following process:
- indeed.com does not offer skill category, so I had to find skill keywords by myself. Because there are so many computer or data skills, I search and select 25 popular skill keywords (java, python, r, sql....) from stackoverflow and google web
- In the URL, There are some parameters for search conditions. (keyword, location and page number)
- After define URL, I iterate crawling with these skill keywords and other conditions. But I skipped job results that don't have salary information.
Data Set
This is dataset that I collected and cleaned. I added average salary column for each row. If salary unit was month, it converted to annual salary. And there are skill, level, state which I defined.
Analysis Result
There are several basic statistics.
California & New York has the highest average salary. Because There are many companies related to Computer technology industry.
It seems that Job count depends on population of each state. But Although population is similar, New York job count is much higher than Florida.
Level is one of search condition from indeed.com. Absolutely, skill level is related to salary. You can see senior level get much more salary.
This is main analytic result which related my question. tensorflow is the best, and kafka, go, kubernetes follow that. It seems that old skill's salary looks lower. latest skill AI, Cloud, Blockchain can get high salary.
On the other hands, when I create bat plot by skill count, rank of skill is different compared with skill salary. Most common skill is SQL because it uses everywhere when we develop program, also when we analysis data. And javascript, linux are following it.
Is there relation between job skill count and job skill salary?
I created scatter plot which shows relation and I added regression line. There is negative correlation between salary and count. It looks that common or general skill seems that cannot get high salary.
Conclusion
Recently, AI, Cloud, Blockchain is popular but there are not many people who is good at that kind of skills. That makes salary is higher. If you want to get more salary, you should learn new special skills. That's my conclusion.
Future Work
If I had more time, I would tried to search combined skill and their relation. For example, java + SQL, python+r, and so on. It takes long time to collect combined keyword. There are many combinations.
And amount of sample is not enough because many companies don’t want to show their salary directly. Only 20% shows their salary. I think I can use machine learning to predict salary. If I train many job data which have salary information, I can predict job data even that have not salary information.