Java Jobs: broken down by web framework
I updated my Web Framework Comparison presentation today. Rather than updating the graph that shows today's job availability, I did one that compares today to 6 months ago. Struts is still the clear winner (and growing). Spring is definitely growing. Tapestry has about the same amount of jobs (9 vs. 8). WebWork lost 10 opening (down to 4) and the demand for JSF skills has grown as well.
Is WebWork a dying framework? I've heard folks complain about its small community, and there still aren't any books is only one book about it. Is that a jab at Patrick, Jason and Kris - or a jab at Manning? I'm not sure. The good news is WebWork in Action and WebWork Live should both be out this summer.
My search criteria for all of these was "framework and java" from the front page on dice.com. I did filter a bunch out for WebWork b/c there's some product called "WebWorks" that folks want to hire for.
In my own experience, these numbers are not as accurate as you might think. Since I gave my original presentation, I've been contacted a number of times to work on projects. It's about even between Struts, Spring MVC, WebWork and JSF. I haven't had a single inquiry to do Tapestry development. The bad part about Struts jobs is there's so many of them, that rates are likely pretty low (i.e. 35-45/hour), whereas the others can get you upwards of 80-90/hour.
So what do these numbers mean? Do they mean you should tailor your learnings and skills to the most popular frameworks? In a sense, it's important to do so. If nothing else, Struts skills are import so you can migrate all the Struts applications to your favorite framework. However, I don't think these numbers are that important when choosing a framework to start your project with. I think the most important thing in choosing a framework is passion. Which one do you want to work with the most? It's likely that your productivity will be higher if you're enthusiastic about the framework, rather than bored with all the skills you've accumulated using it. Then again, if you're motivated by productivity more than enthusiasm - using your skills to crank out applications quickly is probably a good idea.
You might think that the number of skilled developers for framework X is important too. I don't think it is. I think the most important thing is to hire smart developers. A good developer can come up to speed on any framework in 2 weeks and be highly productive in 4 weeks. If not, the developer isn't that smart or the framework isn't that good.
Just for kicks, I did some searching for other web frameworks as well:
- Rife: 0
- Wicket: 0
- Echo: 3
- Ruby on Rails: 1
- ASP .NET: 2876
Now the question is - what kind of rates are these skills getting? I'd like to know what the average Rails and ASP .NET developers make. In Denver, Java developers seem to make between 65-85/hour when they're experienced contractors.
Posted by Joseph Ottinger on May 22, 2005 at 02:03 PM MDT #
Posted by Matt Raible on May 22, 2005 at 02:07 PM MDT #
Posted by Brian Burke on May 22, 2005 at 02:07 PM MDT #
We (company Topicus) hire programmers all of the time, for ourselves, and for our customers. We never ask for any specific framework, as we expect programmers to learn one within a few days if needed. The only thing we might ask is to have some experience with web development.
Furthermore, I think the reason for Struts being so high is that everybody, including managers, heard of it. But in my experience, a couple of minutes is enough to explain a customer why other frameworks might be more suiteable. In the end of the day, the customer is concerned about the result, right?
Maybe it is because the dutch market depends less on freelancers than the US market?
Posted by Eelco on May 22, 2005 at 03:10 PM MDT #
Posted by Neeraj Kumar on May 22, 2005 at 08:52 PM MDT #
Posted by Niall on May 22, 2005 at 09:55 PM MDT #
Posted by scot on May 23, 2005 at 04:29 AM MDT #
Posted by Mats Henricson on May 23, 2005 at 08:56 AM MDT #
If you look in the project descriptions, for the most of them Spring is as IoC. You can filter them out by using Struts, cause a lot of them require Struts too, so it's clear that those projects doesn't require the SpringMVC.
Another interesting java framework(and tool/RAD) is <a ref="http://www.apple.com/webobjects/" target="_blank">WebObjects - (from Apple).
There are 20 projects with WebObjects, and this qualifies webobjects at least on place 3 :). A lot of banking applications still use webobjects, and the rates are pretty good (at least the projects I was working on). If one adds the high productivity with WebObjects - there's still no other IDE/Tool combination that offers such a high productivity - IMHO, it should be still considered in those charts :).
Posted by Ahmed Mohombe on May 23, 2005 at 10:21 AM MDT #
Posted by Dan Q. on May 23, 2005 at 05:01 PM MDT #
Posted by Matt Raible on May 23, 2005 at 05:12 PM MDT #
Posted by Deepak Bajaj on May 25, 2005 at 02:50 PM MDT #
Posted by good technology is important on June 08, 2005 at 07:23 AM MDT #