How much salary can you expect for your tech skill?
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.
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.
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.
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.
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.
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.
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.