Taking technical interviews is just not a one hour job, it is a full-time strategy. After having picked up different technologies like React, DevOps, Data-Science, Android etc, we decided to focus on the technology which was one of the most important things that has happened to the IT industry in the 21st century, i.e Java.
There can be two major situations:
1. You are hiring a Java developer, but are a non-tech founder and have no means to verify his skills.
2. You are well aware of Java, but the job role is Senior Java Developer, and you have no idea how to conduct his technical interview and check his programming skills.
3. You want an expert opinion before rolling out the offer letter.
To ease it for you, we decided to interview our top Java developer, Srinivas, who has taken 100s of interviews at AirCTO for both startup and enterprises and has been in this industry for more than 12 years. We covered the most popular challenges faced while hiring Java developers, or any developers per se; like recognizing an ideal profile, determining problem-solving approach, projects, behavioral approaches and making the final hiring decision.
You started your career as a Java developer itself and years later, you are Team Lead in one of the largest MNCs. How has been your journey so far?
It has been a great and exciting journey so far. As a developer, you get a kick from working on the hardest of the technical problems there is to solve. You can research on different ways to solve the problem, seek the most simple solution and celebrate a victory when you see that red, failing test going green.
As a Tech Lead, you cannot take on all the coding tasks, and cannot take on all the hard or interesting problems, regardless of your experience. You have many more responsibilities that need your time and attention, and if you are focused solely on a single task, those other responsibilities will not be fulfilled. The key is to find a proper balance between all the overlapping tasks.
How should the portfolio of an ideal Java developer look like?
There is no single set of skills that define a great Java Developer, typically an Ideal developer portfolio should be having the following skills,
1. Strong core java knowledge,
2. Spring, Hibernate, Web service
3. Data structure, database, strong coding
& analytical skills.
Besides these, the candidate should also be keen on
learning the latest technologies and should have a knowledge of what's happening in the industry.
You have done numerous interviews for AirCTO, what is your process to vet the candidate?
Firstly, I see if the candidate is a strong problem solver, is able to write a code on paper, has a wide knowledge of the required field, is a good communicator and can understand when to use design patterns.
How do you think the release of Java 9 impact the development ecosystem?
Java 9 release will definitely have a huge impact on the ecosystem. With great features such as Modules, JAVA REPL & few enhanced security features, JAVA 9 will be a breakthrough.
These features will enable the division of JDK, JRE, JARs etc., into smaller modules. They will also support better performance, and maintain ease of testing and maintainability. With Java 9, we cannot access Internal Non-Critical APIs anymore. And also, it's new security feature will provide a more protective environment.
What is the importance of projects?
Projects can be one of the most efficient ways to learn as they enable the candidates to apply the skills while learning them.
Project information is a key thing for introspecting a candidate, based on those extracted details, we can easily judge the candidate's caliber, whether the candidate has really worked in those areas or not.
You have done a lot of interviews for start-ups as well as bigger companies. How does the approach differ in each case?
Interviews depend on the project requirements. For instance, if bigger companies are specifically looking for maintenance or enhanced kind of projects in such cases an average skilled person is sufficient.
But in case of a startup, companies normally require an end to end development i.e a full stack developer with strong coding knowledge and problem-solving skills. His cognitive abilities and passion for the work are also important parameters in the interview.
Your favorite problem-solving question to test the cognitive skills of the candidate?
Let me give an example of a small problem.
An array of 100 integers from 1 to 100 are shuffled. One integer is taken out, find that integer.
This is a problem that can be solved in a few lines of code using another math trick and also it’s testing you to not only know which tricks to use but how you implement them as a code.
This is how we do it at AirCTO
Your suggestion to hiring managers on how to hire a Java developer?
According to my opinion, any hiring manager should follow few of the below guidelines:
a.It's a Perfect Job Description that finds a Perfect Candidate
b.Hire slowly; don't rush the process and compromise on the quality
c. Look for talent and passion; then train them
This is how an ideal recommendation should look like:
So, these are few points to keep in mind while interviewing your next Java developer. Now, if you are looking for technical Java questions to ask in the interview, don't worry, we got that as well. Here are the top 9 Java questions crafted by our experts based on the 1000s of interviews taken by them. Do let us know your thoughts on this interview by emailing us at email@example.com.