Skip to main content

JSF Job Stats, Indeed

Posted by kito75 on June 27, 2008 at 11:00 AM PDT

A couple of years ago I posted some job trend graphs from indeed.com. Since then, it's become the hip thing to do. So, in order to remain hip, I figured it was time for an update...

Granted, in the first entry, I made all of the links live, so it's sort of perpetually updated. Unfortunately, the updated graphs may render the prose inaccurate. This time I'll put the actual images up in order to maintain blog posting integrity.

First up, let's see how JSF is doing against modern web frameworks:

indeed-jsf-1.png

Note that it's #1 in terms of US job postings. On its heels, though, are Flex and Rails, which have more steep adoption curves. Perhaps JSF 2 will help with that :-).

Now, let's compare all of these with Struts:

indeed-jsf-2.png

Man, some things take forever to die... (Struts 2, which is actually quite good, garners a very small percentage of this.)

What about ASP.NET?

indeed-jsf-3.png

Yikes! So, I guess this points to the whole Java market fragmentation problem. If we filter out Flex (more like Silverlight), and Rails (not Java -- well, not always Java), what do we get?

indeed-jsf-4.png

Oh well. Didn't help as much as I had hoped, even with Spring MVC...

Indeed, job stats aren't the ultimate indicator of a product's success... but they are a useful guide. Fortunately, the trends for JSF and several others are upward :-).

Comments

<p>I really don't see any difference in this graph ! ...

I really don't see any difference in this graph ! Although it seems or many people think that its hard for stunners or for the starters to preform good...well they are right ! But it always doesn't means that the starters will fail every time ! My first job made me...or we can just say that i failed but i got abetter job latter ! And in this hope that to prove everyone wrong I'm looking for a Job , finance jobs new york! I wish that every starters gives there best shot !

>> where's JSP in these stats? Here I was searching specifically for web frameworks...

>> You are drawing this conclusion from the second chart posted - but I don't really see much of a decrease in market share for Struts here, do you? You can also see things like Flex / Rails gaining more market share than JSF. I think the Struts downward trend is pretty obvious. There's definitely no growth there. You're right about the growth curve for Flex and Rails being steeper, but I'm not convinced it's that dramatic of a difference. >> Another observation is that you have not included Spring MVC in the second chart. I would argue that Spring MVC is far more "entrenched" than Struts 2. And running a search would be difficult, for e.g. most of the hits that say "Spring" would probably use Spring MVC too. True. >> By the way the first chart has the Y-axis in the range of 0.01 percentage points, hardly what I would call a strong basis to draw any conclusions. Those numbers are based on the whole set of job postings, so the numbers are useful for inclusions. Indeed's own examples are in that range. >> I don't agree. I have been involved in a few EJB 2.X app-server porting projects. In theory this should have been Write Once - Deploy Anywhere. But no, each app-server vendor encouraged use of proprietary extensions that went beyond what the core spec had to offer. It's a completely different scenario. With JSF, the implementations aren't really providing a lot of extensions -- component libraries and other utilities are. So they tend to work in either of the major two implementations. The only major area of incompatibility is with Ajax-enabled components on the JavaScript side of things. This is because JSF came out before Ajax took off, and JSF 1.2's mandate was to fix issues with JSP. This is something we're fixing in JSF 2.

where's JSP in these stats?

>> Second, JSF is extremely extensible, and this extensibility has allowed the development of extensions that fill in gaps in the spec. That wasn't possible with EJB 2.x I don't agree. I have been involved in a few EJB 2.X app-server porting projects. In theory this should have been Write Once - Deploy Anywhere. But no, each app-server vendor encouraged use of proprietary extensions that went beyond what the core spec had to offer.

I guess time will tell, and it will be interesting to watch. I'll respond to a couple of your points: >> First, JSF is gaining market share from an entrenched alternative (i.e. Struts). You are drawing this conclusion from the second chart posted - but I don't really see much of a decrease in market share for Struts here, do you? You can also see things like Flex / Rails gaining more market share than JSF. Another observation is that you have not included Spring MVC in the second chart. I would argue that Spring MVC is far more "entrenched" than Struts 2. And running a search would be difficult, for e.g. most of the hits that say "Spring" would probably use Spring MVC too. By the way the first chart has the Y-axis in the range of 0.01 percentage points, hardly what I would call a strong basis to draw any conclusions. >> There was no such thing in the EJB world (unless you count CORBA or DCOM...which I wouldn't.) Well why not? You freely add Flex / Rails / ASP.NET today to the comparison. Look at this old, old, link from The ServerSide: http://www.theserverside.com/tt/articles/article.tss?l=EJB-ComPlus

Yeah there was a time when EJB 2.X job stats looked like JSF today. Don't you remember the days when "life cycle of an EJB" was the stock J2EE interview question? *shudder* Lies, damned lies, and statistics. Indeed :)

You're right about how EJB 2 was popular at one time. There are a few differences here, though. First, JSF is gaining market share from an entrenched alternative (i.e. Struts). There was no such thing in the EJB world (unless you count CORBA or DCOM...which I wouldn't.) This implies that it's better than an existing framework, and although we all complain about Struts now, I would argue that it's better than EJB 2.x. It follows, then, that JSF is certainly better than EJB 2.x (especially if you use 1.2). Second, JSF is extremely extensible, and this extensibility has allowed the development of extensions that fill in gaps in the spec. That wasn't possible with EJB 2.x. Third, we on the expert group are very aware of what's happening in the ecosystem, and are rolling existing innovation into the spec. This is similar to what happened with EJB 3, except that we're doing this before an alternative (like Spring) has already eroded market share. So, while EJB 3 has had a tough time because of the bad taste of EJB 2 and the success of Spring, I don't think we'll have such resistance with JSF 2.

Lies, damned lies, and statistics :-)