By Drew Hendricks
Java was designed nearly 20 years ago, with new notions of object-oriented programming that improved on the mistakes of other prevalent languages at the time, such as C or C++. Java's garbage collection and its architecturally agnostic virtual machine created a new way of programming and introduced the new idea of "Write once, run everywhere". With the power of the Java Virtual Machine behind the platform, a great Java developer could build distributed Web applications, a sophisticated desktop application that would run on any platform, and even a mobile application way before we had smartphones.
The importance of Java developers has not faded, so here is the vital guide on how to hire the best. In this guide, you will also find tips on how to continue evaluating your new developer after you finished the search and hired your perfect Java developer.
Before even beginning to think about a hire, there are certain steps you should take to ensure you are attracting the best candidates to interview. This will save you a lot of headache down the line by helping you avoid countless hours sifting through an endless stream of resumes.
Formulate Your Plan
Because Java has been used for so long by so many companies, there is no shortage of developers who list Java on their résumés. However, to identify those who are true Java experts, you will need a well-prepared and effective hiring process.
Start by asking yourself how many technical interviews you will need. Will interviewing too many potential candidates overwhelm your technical interviewers? When taking these questions into consideration, you will want to plan out your interview funnel well in advance. After all, it may be necessary to organize multiple interviews for each candidate, and there's no telling how many candidates you will end up finding.
The last thing you want out of the interview process is a failed hire, and that pitfall is much easier to avoid by optimizing the interview process from the get-go.
Be Clear from Square One
Every hiring search starts with a job advertisement, which requires a job description. To save time, and to ensure that you don't forget any key points, start with a Java job description. Next, clearly define a list of all required skills for the position. Also, make sure to state which class of libraries you use in your projects, and which platforms you will target. This will help you pinpoint a great Java developer with all needed experience relevant to your specific project.
Find Candidates Where They Are
Want to improve your chances of finding a good candidate for your job? Go to places where Java developers already congregate. Local developer communities are always organizing conferences and meetups where you can find local candidates interested in the relevant topic, and, as an added bonus, you can begin vetting candidates through general conversation. Conferences such as JavaOne can be great places to source Java developers who are passionate about their work. After all, they are spending their free time at the conference.
Additionally, if you have contacts at universities, use them. Computer science departments are full of potential candidates that often go overlooked. Get in touch with any computer science professors you may know and ask them to recommend their top students. Alternatively, you can send your job advertisement out to an entire computer science listserv at different universities. Students may lack experience, but the best ones will learn fast and make up for it with amazing drive and work ethic.
Once you've found a set of promising candidates, be prepared with a set of specific Java questions rather than wasting time on general interview questions.
Once you have made a hire, continuous evaluation is important to ensure that your applications are not riddled with common Java mistakes. You should feel confident in your new hire, but that does not mean you can simply ghost and disappear from the picture as soon as they start the job. Instead, help onboard them by making sure they are aware of common mistakes and best practices.
Beware of Common Mistakes
Java is one of the most portable languages around and very powerful, but that does not mean it does not have its own set of common mistakes. Educate yourself and your developers on various Java libraries. Encourage developers to stay up-to-date by reading JVM documentation, and always be sure to use proper tools like static code analyzers that can highlight potential bugs. Most importantly, make any developer you hire aware of the common Java mistakes to avoid them in your own projects. No one wants to deal with memory leaks or excessive garbage allocation.
Establish a High Standard
As with any language, Java has its own Java Language Best Practices that every Java developer should know. Maintain a high standard in your programming by familiarizing yourself with best practices for Java. Then, be sure to talk with your Java developers about how they would implement certain features with minimum impact on Java performance, while ensuring testability at the same time. Devising a solution to such scenarios should be trivial for elite Java developers.
Quiz your hires about how the team should be organized and how the tasks should be divided. A clear understanding of the proposed workflow and technology interfaces will lead to a clean, smooth development process.
Any developer you hire is always going to need to know the basics of Java. But, as with any language that has gone through so many iterations, it has many nuances that not all developers are familiar with. Not to mention, with every iteration, Java introduces new features and paradigms, and it requires a lot of experience to fully appreciate every change. True Java masters will have an enormous positive impact on your team's productivity and are worth their weight in gold, delivering stable, scalable applications that perform well. Use a carefully planned and strategic approach to hiring a Java developer and you'll see the results.
About the Author
Drew Hendricks is a tech, social media, and environmental addict. He's written for many major publications, such as Developer.com, Forbes, and Entrepreneur.