Few weeks ago I bought an amazing book whose first chapter is an introduction to the Ruby language. I've never really been interested in Ruby before as I'm perfectly happy with Python but I think there's always something to learn when studying a new language. With this in mind, and considering that I'm looking for a job, I thought to learn Ruby by writing a tool to analyze the technical skills most required by the market today. I selected the website that in my opinion offers the more interesting jobs, careers.stackoverflow.com, did a bit of scraping and made some visualisations to help me understand the data collected (which, BTW, is limited only to the last 5 weeks).
First, let's see what are the technologies required the most:
Although the data is limited (again, only 5 weeks), we can make some interesting comparisons:
- There's more demand of Java developers than C# developers.
- More jobs require Android knowledge rather than iOS, maybe this is also why Java > C#.
- MySQL beats any other database, including NoSQL ones.
- Ruby is less requested than I thought, but maybe requests are distributed among the tags ruby and ruby-on-rails, I don't know.
Now I think it's possible to appreciate more which set of technologies are currently requested and which one a developer should focus in order to increase his/her changes of landing a job of the ones proposed on careers.stackoverflow.com.
Nothing surprising in the Microsoft world, .net, C#, Asp.net and SQL server are the technologies required in companies that relies on Microsoft technologies.
It's interesting to see C++ and Java so often together. Companies are probably looking for candidates with a knowledge of either one or the other but I think that while a C++ developer can pick up Java pretty fast I've some doubts about the opposite being so easy.
Knowledge of both Android an iOS seems to be well appreciated by companies that probably prefer to have only one developer working on the same application for both platforms. Windows mobile and blackberry skills are not particularly requested.
The Spring framework is often demanded when working with Java EE. Interesting to note that Java skills are often requested along with a scripting language like Python, Perl or Groovy. They aren't probably necessary but a candidate with a knowledge of at least one scripting language may have the head over a candidate that does not.
Finally, since I don't live in a big city with a lot of job opportunities, I'm particularly interested in telecommuting jobs:
Guess I should relocate... :-|
The code to scrape the data and to visualize it is on github.