Which technologies you should learn next

Recently a co-worker showed me a meta-search engine for jobs. Indeed.com is a search engine for jobs, allowing job seekers to find jobs posted on thousands of company career sites and job boards. But for me the most interesting part on the Indeed website is the posibility to analyze trends on the job market. I tried to analyze some of the data and got some interesting results.

EAI vs. SOA

For example, since 2006 the market needs more SOA experts than EAI experts. That is not a suprise. We can also see that since the end of 2008 the need for SOA experts stopped growing and we can see the next trend "Cloud Computing". Is it a sign that the topic is shifting or is it just coincidence?

EAI, SOA, Cloud Computing Job Trends graph


Next Hype: Cloud Computing
We can see the growing "Cloud Computing" trend even better if we view the percentage of growth relative to each other.

EAI, SOA, Cloud Computing Job Trends graph


Java vs. .NET
Maybe you ask yourself which computer language you should learn next. Should you learn Groovy, Ruby, Scala or take a look on Microsoft .NET? Well, according to indeed.com Java is the most wanted programming language on the market. C# is growing year by year but still does not seem to be used as much as C++. Groovy, Ruby, Scala are currently not used in the field at all.

Java, C++, C#, Perl, PHP, Ruby, Groovy, Scala Job Trends graph

Are Groovy and Scala just a hype?
But the relative growth of Groovy, Ruby and Scala over the past years is very impressive. Especially Groovy and Scala are growing very fast. Is it just a hype or are these the programming languages of tomorrow?

Java, C++, C#, Perl, PHP, Ruby, Groovy, Scala Job Trends graph

Lightweight J2EE architectures are IN. EJB is OUT.
If you compare EJB with Spring you can see that companies search for more Spring developers than EJB developers. Even if you compare Spring with J2EE - which is a more generic term - you can see that the numbers are nearly the same.

J2EE, EJB, Spring Job Trends graph

Much more impressive is the relative growth of Spring over the past years. And the number of open jobs for Spring developers is still growing...

J2EE, EJB, Spring Job Trends graph

Hibernate vs. EJB
If you compare the numbers for Hibernate and EJB (or other persistence frameworks), you can see that Hibernate won the battle of persistence frameworks.
EJB, Hibernate, JPA Job Trends graph


But if you look at the relative growth, you can see that the future lies in JPA. By the way: Hibernate supports JPA!

EJB, Hibernate, JPA Job Trends graph

JSP and Struts still rock the world.
And what about web frameworks? Well, JSP and Struts developers are still the most wanted. JSF on the other side still needs some time to become a real standard.

JSP, JSF, Struts, Web Flow, Turbine, Velocity, GWT, Seam Job Trends graph

Maybe GWT is the future...
None of the web frameworks is growing as fast as GWT. Is this the future of web development?

JSP, JSF, Struts, Web Flow, Turbine, Velocity, GWT, Seam Job Trends graph

JBoss is the only open-source application server used in production
What about Java Application Servers? Oracle Application Server is the most wanted, but JBoss is growing fast. It seems that open-source application servers like GlassFish or Geronimo are not used in production.

Oracle Application Server, WebSphere Application Server, JBoss, GlassFish, Geronimo Job Trends graph


But watching the relative growth, GlassFish seems to be the next superstar.

Oracle Application Server, WebSphere Application Server, JBoss, GlassFish, Geronimo  Job Trends graph

Tomcat is the dominating web container
Comparing Java web containers, we can see that Tomcat is dominating the market.

Tomcat, Resin, Jetty Job Trends graph

But Jetty is growing much faster as any other web container.

Tomcat, Resin, Jetty Job Trends graph

MQSeries is losing against TIBCO EMS.
Looking at some popular JMS-Servers, we can see that TIBCO EMS is growing fast and MQSeries seems to lose the game.

MQSeries, TIBCO EMS, ActiveMQ Job Trends graph

Is ActiveMQ the future of JMS-Servers?
But ActiveMQ is growing faster than TIBCO and if it continues that way it can be the future most wanted JMS-Server.

MQSeries, TIBCO EMS, ActiveMQ Job Trends graph

Maven vs. Ant
After comparing Maven with Ant, I was shocked that many companies still use Ant as the primary build tool.

Maven, Ant Job Trends graph

But I was relieved after taking a look on the relative growth. It shouldn't take long until Maven wins the game.

Maven, Ant Job Trends graph

Continuum and Hudson seem to be the most used continuous integration servers.

Continuum, Hudson, Anthill, CruiseControl, Bambo, TeamCity Job Trends graph

TeamCity is growing fast, followed by Anthill.

Continuum, Hudson, Anthill, CruiseControl, Bambo, TeamCity Job Trends graph

And unsurprisingly, Eclipse is the most used IDE.

Eclipse, NetBeans, IntelliJ IDEA, Rational Application Developer Job Trends graph

Swing vs. SWT
If you are a Java rich client developer, you should know how to develop with Swing. SWT does not seem to be a real threat to Swing.


Swing, SWT Job Trends graph

Flash vs. Silverlight
No surprise: Flash does not only dominate the web, but the job market, too. Though Silverlight is growing...
Flash, Silverlight Job Trends graph

And Silverlight's growth on the job market is very impressive:

Flash, Silverlight Job Trends graph



Conclusion

According to indeed.com you are currently the most valuable IT ressource if you are a Java Developer with Spring and Hibernate knowledge. You should know how to develop web applications with JSP, Struts or Web Flow and how to deploy it on Tomcat or Oracle Application Servers. If you are a rich client developer, you should be able to develop with Swing or Flash. And if integration is your job, you should be familar with SOA and TIBCO EMS. It's always a plus if you know how to use Ant and how to make continuous integration of your build with Continuum.

But if you want be the the elite of the future, you should take a look at Cloud Computing, Groovy, Spring, JPA, GWT, GlassFish, Jetty, ActiveMQ, maybe Silverlight and of course Maven.


What do you think? Which IT skills will be the most valuable ones on the job market of the future?



UPDATE: Colin pointed out to me that I should use quotes when searching for "Oracle Application Server" or "WebSphere Application Server" - which results in kind of a different picture.

"Oracle Application Server", "WebSphere Application Server", JBoss, GlassFish, Geronimo Job Trends graph

From soa-at-work.com