Java is a staple of enterprise application development, and it is everywhere. The language has been around forever in technology years, with 2015 marking the 20th year anniversary of the first public implementation of Java. Very few languages can claim to have a thriving developer base and widespread adoption after 20 years in existence, but Java does. This is good news for you — finding people to apply for your job openings will be easy. However, finding developers that meet your company’s specific needs may not be.
The challenge of ubiquity
Java can be used for just about any programming need, from enterprise back-ends to web sites and mobile apps. This is a double-edged sword. Since Java is ubiquitous, finding people who work on it is relatively easy. The problem is finding expert Java developers who are willing to change employers.
One reason for Java’s longevity and position in the marketplace is Oracle. The language is owned by Oracle, although the technology itself can be used freely. Oracle’s ownership has allowed for an official certification process. Starting with the original owner, Sun Microsystems, and continuing with Oracle, developers can take courses and tests designed to validate their knowledge and training. The certification path for the Java language is here. This certification path is for the language itself, called Java SE (Java Standard Edition). Oracle has a site where the candidate can confirm all their certifications for you at CertView.
The Java language is only part of the package. Java has been extended to include powerful, highly scalable, and secure applications collectively called Java EE (Java Enterprise Edition). Java EE encompases a series of technologies designed for complex applications with multiple tiers and integrations to non-Java systems. If you are working on a large Java project with multiple levels of interaction, for example web APIs, database interactions, and a business layer, then you will need someone with Java EE skills. Fortunately, Java EE also has a certification path which includes certifications in specific niches. The certification path is here.
Java may have a long lineage in technical terms, but it is by no means stagnant. Both the programming language and its extensions have grown over time. An expert candidate will have adapted as Java has grown.
So now that we have covered a but of Java's history, let's get into some tips for hiring great developers
1) Be ready for a deluge of resumes — and know how to handle them!
A listing for a Java developer position will usually get a lot of responses. One way to sort through the multitude of potential candidates (before they are invited for an interview) is to gauge their knowledge via pre-screening tests. If an onsite test isn’t your preferred option, then consider creating an at-home standard questionnaire for all candidates. The questionnaire should focus on real-world situations with conclusive answers. Try to ask questions that are related to the work they would do for you. Questions that are focused on what your company does are easier to evaluate, and the answer is less likely to be found in stackoverflow or a developer’s blog. Avoid questions focused on minutiae or theory. A solid questionnaire with concrete answers will help sift through the mass of resumes for the candidates you should focus on. Once a smaller pool of candidates has been decided upon, then return to your company’s regular hiring pattern.
2) Look for a Java developer who is active in their community, or open to becoming active
Unlike Ruby and Node, Java is not an open source community with a touch of the “wild west” mentality. It has been around for a long while and its development has become much more codified. However, this doesn’t mean you shouldn’t expect your candidates to have a community footprint. There are many ways for a passionate Java developer to be active in the community. The official Java forum is at the Oracle technology space. The community can go there to read articles, engage in discussions, get assistance, or assist others. In addition to the general boards, there are many spaces specific to the various niches that both Java SE and Java EE fill. This is a good place to see what kind of mark your candidate is making on the wider Java community. You can also see what specific nooks your candidate is interested in by where they participate. Java’s development is controlled by Oracle, but community participation is an important part of their process. Members of the Java community are welcome to comment on proposed changes to Java as they are being considered. Even better, Java developers are able to propose changes in the form of specifications for review. Check to see if your preferred candidates are members of the JCP (java community process), and if they have contributed to any of the many specifications constantly under review. The JCP site is at https://jcp.org/.
3) The best way to advertise your opening directly to Java developers is where they congregate to share code and advice.
Talk to the prospects directly. Oracle’s ownership and welcoming attitude to its developers can make finding developers a little harder than normal. A less managed language would have natural gaps in information sharing and discovery that can be filled with newsletters, online hubs, and online groups. Oracle does a great job making this information easily accessible through its online hubs and forums, so there is no gap for a third party to fill. Therefore, the best way to advertise directly to Java developers is to go where they congregate to share code and advice. The most target-rich location for code storage and sharing is GitHub. Developers of all languages use GitHub, and the Git system, to store and share code in a variety of languages. GitHub has a job board that is uniquely targeted at it professionals.
Another great non-Oracle source that programmers may turn to for advice is Stack Overflow. Stack Overflow is an online question and answer site with help for most technical languages. They also have an online job board.
3) 4) Any additional skill sets you are looking for will depend on how Java will be used in your project(s).
There are many different skill sets that can complement Java expertise. The skill sets you want to look for largely depend on how the technology will be used in your project(s). If Java is functioning as a business logic layer in charge of processing and shuttling data around, then look for candidates with strong skills in databases and integration technologies. This should include experience with both relational databases such as MySQL, SQL Server, and Oracle, and non-relational database systems such as MongoDB. A strong understanding of network technologies and network transports is helpful.
So, good luck! The work opportunities for Java developers continue to flourish. The technology is solid and has managed to adapt with the times and stay relevant. Finding a great Java developer may not be easy, but great Java developers can provide all sorts of opportunities for your business to excel.
Shoot me an email at firstname.lastname@example.org and let’s start talking.
By David Posin