JSF Job Trends
Every once in a while, I run some Indeed job trend searches and post them on a blog somewhere. My last entry was about a year ago. Of course I'm not the only person doing this, but usually that's not a good reason to avoid doing something. Everybody does things differently, even queries.
So, this year, I did the obligatory JSF vs Struts comparison:
struts, (java and jsf) or "javserver faces" or "java server faces"
As you can see, JSF is eating into the Struts market share, but has quite a way to go. The query doesn't differentiate between Struts 1.0 and 2.0, though. What about Struts 2.0?
This isn't a lot of adoption, but some companies have definitely begun or augmented projects in the past few months.
What about Grails, Rails, Flex, and Wicket?
Flex is obviously doing quite well, and JSF is holding it's own. However, despite all of its hype, Ruby on Rails still doesn't employ as many people as JSF or Flex. Grails and Wicket have devoted followers, but far fewer job postings. In fact, their percentage is closer to Struts 2.0.
In terms of predicting the future, relative trends are more useful because they show how quickly the job market is growing for a particular search term. Let's look at the same graph, relative style:
So, it looks like there's reason for all of the Ruby on Rails hype after all. Let's zoom in and look at the frameworks with slower growth:
Clearly, buzz is related to growth, not overall adoption. Grails and Wicket are doing quite well in this area, while Flex and JSF grow at a slower pace.
Is JSF demand decreasing? Doubtful. With JSF 2.0, you can expect demand to grow this year (also, remember these stats are already a few months old). Traditionally, JSF has been good at eating away Struts' market share, and I see that trend continuing (especially based on my own experience training and consulting). And, as people begin experimenting with JSF and Groovy or other dynamic languages, you'll see more interest from the scripting world. 2009 should be an interesting year.
P.S. Yes, I realize I forgot Spring MVC this time around. There's always next time .