Java is a staple of enterprise application development, and it is everywhere. The language has been around for a very long time 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 growing developer base and widespread adoption after 20 years in existence. Java has a large developer base that continues to thrive. This is good news; finding people to apply for your job opening will be easy. However, the goal to find talented developers that meet your company’s specific needs may not be so easy.
“Java can be used for just about any programming need, from enterprise back-ends to web sites and mobile apps.”
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 so 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.
“A listing for a Java developer position may result in a deluge of resumes.”
The value of deep technical questions while the candidate is in the pressure cooker environment of an interview can have questionable value. There is credence to the idea that expecting great work from an interviewee while they are in a constrained tense environment is not reasonable. Despite this complaint, you may still need to do a round of technical questions.
A listing for a Java developer position may result in a deluge of resumes. One way to sort through the many potential candidates is to gauge their knowledge through interview questions. 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 use questions that are similar 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 and 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. If your process includes a question and answer section, there are many sites out there for Java interviewers and interviewees that can give you question ideas. Make sure you ask about both Java language (Java SE) and Java Enterprise (Java EE) questions at this point in the process. Using a simple web search, I was quickly able to find several sources: Java Interview Questions, 10 Core Java Interview Questions, and 115 Java Interview Questions. If you prefer to have the candidate perform programming exercises or solve challenges, the web can provide many examples of those as well.
“There are many ways for a passionate Java developer to be active in the Java community.”
Unlike our previous articles on Ruby and Node, Java is not an open source community with a touch of the Wild West. It has been around for a long while and its development has become much more codified over time. 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 come here 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 fills. 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 welcomed 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/.
“The best way to try advertising directly to Java developers is where they congregate to share code and advice.”
Talking to The Prospect 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.
The best way, then, to try advertising 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.
The best 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 almost any technical language you can think of. They also have an online job board.
“The additional skill sets you want to look for largely 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.
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.