David R. Heffelfinger

  Ensode Technology, LLC

Bookmark and Share

Why is it so hard to find Java talent?

One common complaint that I hear from my clients and recruiter friends is that it is very hard to find good Java talent.

I am fortunate enough to be on the other side of the coin, I have been working with Java for several years now, I have authored several books on Java and have been a speaker at Oracle's JavaOne conference on more than one occasion, so I'd like to think I'm one of those hard to find good Java developers.

Being on the other side of the coin, I am bombarded every day with emails from recruiters interested in my services, I am fortunate enough to be able to be selective about the projects I work with. In my experience there are three things that drive me away from accepting a project. Here are my suggestions on things you can do to attract top Java talent.

Make it easy to apply

It is mind boggling to me the number of companies that require me to go fill out some long, convoluted form just so that I can apply for a job with them. I have several other companies that are dying to hire me, don't make it a hassle for me to apply for a job for you. On a similar note, many companies require me to fill out some form made in Word that duplicates all the information that already exists in my resume.

If you want me to work for you, don't make it a hassle for me to apply.

Be flexible with your tax terms

For quite a few years now, I've been an independent consultant, in order to do this, I had to incorporate, hire a payroll service, and get insurance for my business. I already have an infrastructure in place to run my business, therefore I only take Corp-to-Corp (C2C) contracts. A lot of companies do W2 only, or want a permanent employee only. Again, I have several potential clients that want to hire me and agree to my terms, your chances of hiring me are slim to none if you are unwilling or unable to do a C2C contract.

Your project has to be interesting

I'm not going to pull any punches here, a lot of the Java projects out there just suck, plain and simple. If what you want me to do is maintain an old J2EE application using Struts 1 and Spring 1 or 2, I'm not going to be very interested in your project. You need to modernize your infrastructure if you want to attract top Java talent. I have actually researched the topic on modernizing legacy server side Java web applications, and wrote a series of articles for the Oracle Technology Network (OTN) a while back on the topic. The articles focus on Spring to Java EE migration, but the same concepts apply to J2EE to Java EE migration. If you need help modernizing a legacy project, drop me a note, this will certainly be an interesting project and I'll be happy to help.


This is so true, especially the bit about companies seeming to go the extra mile to make it almost impossible just to get to the interview stage.

Many larger companies seem to have missed the Java 7 boat and are still running Java 5 or 6 systems. New language features and improvements in the JVM are important and there should, at the very least, be an active migration path moving to Java EE.

So many Java developers have also migrated to mobile development, using their skills to build Android applications. Java is the best tool to write native Android applications in, and I know of quite a few colleagues that have made this migration, taking years of Java Enterprise experience with them.

Posted by Ewald on October 22, 2013 at 08:51 AM EDT #

Hi David,

Your post doesn't only apply to Java but applies to all languages across the board.

I'm a consultant myself, and I noticed that companies that insist on the formalities are those companies that are not really worth working for.

Most consultants quit the safety of a career to be independent and form their own business, they don't want to be caught in a web of forms and approvals. Unfortunately, some companies do not understand that.

Posted by Fadi E. on October 22, 2013 at 09:17 AM EDT #

@Ewald Java EE 5 or 6? I'm frequently approached to maintain J2EE 1.4 applications. Even Java EE 5 would be a huge step up for these guys.

Posted by David R. Heffelfinger on October 22, 2013 at 10:17 AM EDT #

@David - You just made my "I feel sorry for you" list! What's interesting is that on many of these legacy projects, performance is a big issue! Yet, there's no drive to update to a more modern code base and better libraries, instead, companies insist that I find a way to improve their system without upgrading the technology stack.

Posted by Ewald on October 22, 2013 at 11:19 AM EDT #

I do a lot of phone screening and face-to-face interviewing for my company. I am regularly presented with blank looks when I ask an interviewee to write a method that accepts a list of integers, iterates over the list to sum up the values in the list, and returns the result.

It's hard to find talent because there's relatively little talent out there.

Posted by Patrick Carroll on October 23, 2013 at 03:43 PM EDT #

@Patrick Not for senior positions, I hope. However, my point is that many companies make it hard on themselves to find good talent.

Posted by David R. Heffelfinger on October 24, 2013 at 03:45 AM EDT #

Post a Comment:
Comments are closed for this entry.

« January 2022

© David R. Heffelfinger