A local defense contractor is advertising for a "Jr. Java Developer" position. The description says they are looking for someone with "1 to 3 years of experience."
It then goes on to say this:
Candidates must have knowledge and/or expertise in the following:
Java programming language, J2EE Standards, XML, JDBC, SQL, PL/SQL, JDeveloper, Hibernate, Spring MVC, Struts, ANT, Maven, JUnit, Ajax, n-tier J2EE Application Server Setup, OC4J, Tomcat, Apache, JBoss and core software development concepts.
Must have strong knowledge of the following API's, frameworks, scripts or languages are highly desired:
Struts, JSP, JSF, Spring, Hibernate, ANT, Maven, Oracle Internet Directory, Tomcat, OC4J, SOAP Web Service, Eclipse, JQuery/Jscript/Ajax
That seems like rather a lot of "knowledge and/or expertise" for a person to gain in three years (to say nothing of one or two).
Does this description reflect what people are experiencing in the requirements from employers seeking to hire junior Java developers?
No, not all of them. I mean unless you're really jumping from project to project, you aren't going to be using Struts and Swing, Ant and Maven, JDeveloper and Eclipse in any given one to three year period. Also, it's a ridiculous number of hats to expect a junior programer to have worn. I get server-side, client-side, and database development, testing, and configuration management for both builds and deploys. Basically, anything to do with a computer, you should have seen it in your <1000 days of experience.
What they'll get is some honest applicants saying they have a reasonable subset of the required skills, and a bunch of people who claim to have all of them, and that will be based on their experience of looking up each term on Wikipedia.
Also, the term J2EE would have been obsolete before any of these "juniors" even started working.
Thanks, Greg. I had rather thought it was a bit long, as lists go, but wanted a second (or more) opinion(s). I mean, if you count them up (even allowing for the duplicates), it implies roughly an average of one person-month dedicated to each of the areas in which they want you to have expertise.
The same company also wants a "Sr. Java Developer." That position requires at least seven years, but only names three distinct skill sets. I get the impression that these job descriptions were written by two (very) different people.
One sees this sort of thing from time to time. I think it happens when HR departments get told to recruit new talent with certain skills. The classic example I remember from my days in New York was when a new language called "PowerBuilder" first appeared in the '91-'92 time-frame. Ads started to appear in the local listings the following year, offering programmers positions if they had the minimum necessary "five years' experience with PowerBuilder."
Almost makes me want to call this company, tell them I've read the description for the Jr. Java Developer spot, and say, "Yeah, I got all that." Be interesting to see what they say.