Java has continued to be a major force in enabling these technologies within these enterprises.
The problem arises when you want to hire a candidate who has proven Java developer skills.
How do you assess Java developer skills with accuracy when you have no clue how Java works or have never worked in it?
If you want to hire a developer who knows Java but doesn’t know how to develop good quality code in a reasonable amount of time, then proceed with the Java APIs and programming tests.
If you want a decent developer, then forget about a paper-pen programming assessment and just talk to them about how they would go about building solutions and the tools they would use, and you’d better use an online assessment.
Ask them about frameworks they know of and what their strengths and weaknesses are as developers. (Read: How to hire a technical source)
Awareness of different IDEs, build tools, test tools, and documentation skills would also be worth querying. If you want quality software, it’s important that they know the “why” and the “how.”
Does a resume by itself represent the actual skills of a candidate? If not, then how can you screen the candidate?
I’ve seen people without degrees who could write incredible algorithms and could quote Knuth by heart.
In this post, I will discuss the best practices we follow while hiring and screening Java developers at HackerEarth.
But before I begin, here’s a little primer.
Java is the closest thing to a Lingua Franca (idiom meaning “Common Language”) in the IT industry. Everyone who has used it once is likely to stick with it.
Java is a computing platform used for portable codes for desktop and server environments. In simple terms, it helps develop an application and share it cross-platform.
It’s an object-oriented programming language which comes with the niche facility of a just-in-time compiler.
Since Java is so often used in every possible application in IT, it is essential to understand that learning it in college or getting basic certifications are hardly useful unless the recruitment is for a beginner’s role.
Java is changing almost every year and with new build and framework releases, hands-on experience in the latest or required libraries and framework should be the priority.
These libraries contain pre-written essential required functions; you can save time by not having to rewrite anything.
A candidate working on J2SE 5.0 released in 2004 may not be knowledgeable enough to work in Java 8 released in 2014.
Before we begin discussing the Java developer online hiring process, it is essential to understand common terms used in Java hiring. Many of these terms are often used interchangeably, and I will be sharing only the important ones.
Check out this amazing glossary of all the Java terms here .
It refers to Java Standard Edition used for development and deployment of codes for the desktop environment.
Java Enterprise Edition is built on top of Java SE. Java EE provides an API and runtime environment for developing and running a large-scale application.
Most candidates today, who see themselves as skilled developers, are certified in Java. But what are the various Java certifications and what do they mean?
Oracle has 4 levels of Java certification that certify you in different levels of expertise.
The table below represents the four levels and the certification and associated skills.
Oracle Certified Associate (OCA) | Oracle certified Associate, Junior Java SE 5,6,8 | Fundamental skills |
Oracle Certified Professional (OCP) | Oracle certified Associate, OCAJP 7, OCAJP 8 | Implementation, Basic of web development |
Oracle Certified Expert (OCE) | OCPJP 6, OCPJP 7, OCPJP 8 | Web Development, API, Enterprise, Server Faces, Web Services |
Oracle Certified Master (OCM) | OCEJWCD 6, OCEJWSD 6, OCEJSFD 6, OCEEJBD 6, OCEJPAD | Architect, Designing, Enterprise edition technology |
* Only Oracle certified candidates are considered to be Java certified.
Irrespective of this detailed list, there is no definite fail-safe way or approach to judging a candidate on these parameters.
Screening is often considered tedious, time-consuming, and still frequently inefficient when you are trying to find the right candidate. You may source 500 or 1000 resumes for a job, but what is important is getting the most suitable candidate for the job.
Over a period, I’ve realized that any Java developer candidate can be screened based on the following two challenges:
Despite some really amazing sources available for more detailed testing, many firms still prefer using simple algorithmic challenges in assessing the job aspirants. (Read – How to remotely assess tech talent?)
The candidate is provided with one or many programming problems which have to be completed within the stipulated time. The solutions are usually judged based on test cases, time, and memory efficiency.
Each programming challenge taken by candidates is evaluated for its accurateness, time, and space complexity by the technical team.
Unlike automated scoring, human raters could bias test results in different ways.
Tools like HackerEarth – Recruit help you test candidates with minimum human intervention. (5 reasons you should use a talent assessment tool)
Recruit challenges candidates using questions from its extensive library while also providing flexibility to enter questions of the recruiter’s choice.
A candidate can be tested on various programming skills through multiple-choice questions, subjective questions, programming questions, golf questions (Problems which are solved in the least number of steps), and approximation questions.
The solution to these questions is automatically evaluated based on defined criteria.
A sample Golf problem statement for assessment:
Real-life problems do not come with a problem statement. Developers usually deal with problems of finding the right framework or editing a broken patch in a program while coding.
When it comes to hiring senior-level or experienced Java developers, it becomes very difficult for recruiters, as well as candidates, to demonstrate their knowledge and skill through a simple programming challenge.
A full-fledged application challenge is used to test a candidate’s capability of developing a complete Java application. He or she has to apply theoretical knowledge and practical skills to get a complete application running.
The candidate must know enough about the framework and libraries to survive the screen test. The solution is then assessed manually using JUnit and by creating custom test cases.
HackerEarth Java Multi File Application helps you assess candidates on application-building skills. Similar to Algorithmic challenges, you can test candidates by using questions from the Recruit library or via a custom library.
The application feature helps a recruiter to check candidates’ know-how by requesting them to develop an application from scratch.
Or the recruiter can choose to partially share an application feature and ask them to complete the rest as part of the assessment.
Benefits of using a Java Multifile Project are the following:
You may have realized while reading this lengthy article that the best approach to assess a Java developer is not via conventional approaches but via new technologies for effective assessment.
Defining a Recruitment Management System In today's competitive talent landscape, attracting and retaining top performers…
Understanding the Recruitment Funnel Imagine a broad opening at the top, gradually narrowing down to…
With the growing demand for highly skilled professionals, traditional hiring methods such as reviewing resumes…
Finding the perfect fit for your team can feel like searching for a unicorn. But…
In today's competitive job market, attracting and keeping top talent is crucial for small businesses…
The tech industry thrives on innovation, and at the heart of that innovation lies a…