As a software engineer, you need to keep your skills sharp and current. This is a general requirement of the job. In addition to this, in the current economy you do not want to be without a job. Obviously, this means learning more about what your current company uses for all of its development. What if you do not have a job or you are looking to leave? What technologies or programming languages should you be looking into?

I have talked about job searching tips before, but this is a little different. That article was about where to search and who to talk to. This time, I want to talk about the technologies and programming languages that companies seem to be looking for. You can do your own research by doing various searches on Indeed, and that is the source of this information as well. The reason I wanted to write this post is that if you read a lot of tech news sites, it sounds like all of the jobs require distributed technologies like Hadoop and caching technology like memcache.

However, if you look at some basic programming language searches on Indeed, you will see that the jobs do not match the hype.

Language Results
java 20984
ruby 1716
rails 2609
perl 8054
python 3323
php 3734
c# 8863
c++ 11,402
javascript 9209
visual basic 6429
objective c 702

Overall, this should not be very surprising. Java is a standard enterprise language that many large companies use. If you combine C++ and C#, they have about the same number of results, which also makes a lot of sense given their enterprise foundations. Probably the most surprising thing is that Perl has a significant amount of demand, especially when compared to the web 2.0 stars (ruby/rails, python and php).

[UPDATED] Somehow I forgot to include Visual Basic and Objective-C. As you can see, VB still has a significant amount of demand. Objective-C is still on the low end of the scale, probably due to the relatively small number of companies pursing iPhone or Mac development.

So, what about some of the other languages and technologies that we hear about?

Technology Results
hadoop 220
memcache 54
Scala 34
JSON 519
SOAP 3027
ajax 5009
jquery 763
Lisp 40
Flash 4361

Obviously, there is a good amount of demand for “ajax” as can be expected in a web 2.0 world. Given that these are relative numbers, we could scale them further by plotting them against the java numbers. Ajax has about 25% of the number of results of java, so any technology that barely registers in the second chart is rarely requested. So, things like Scala, Lisp and memcache are either just getting requested, or are not considered a major requirement. Interestingly, Hadoop has about 1% of the demand of Java. I say this is interesting because Hadoop is leading edge technology that many people have no use for. It is used in highly scalable and distributed systems for data persistence. It is very much a niche technology, but it is not far behind JQuery, a solid javascript framework, or even Rails if we stretch the idea a bit.

[UPDATED] Yet another major technology that I missed the first time around was Flash. As you can see, Flash does have significant demand. It is also firmly entrenched between the standard “major” languages (i.e. Java, C# and Perl) and the web 2.0 languages (i.e. php, python and ruby).

If you really want to know what technologies are hot, you probably want to do a location specific search for your area. If you compared these searches between Philadelphia and Silicon Valley, I am sure the relative numbers would be significantly different due to the types of companies in both areas. More importantly, if you are in the market for a new job, make sure you research what you need to learn. Something like this post could be outdated by the end of this year, so you need to refresh your skills frequently. And don’t forget to update your resume. You can even look here for some basic tips 🙂

Reblog this post [with Zemanta]