Monday, March 9, 2020

Experienced in Java !!!!!! Job Interview Preparation Guide.

If you are a software engineer in India, with more than 15 years of experience what are the companies that are going to keep you in job? Service Companies are going to prefer employees with lesser experiences to achieve profit margins. Even they will be ready to replace a 10-year experienced employee with a 3-year candidate. Job hopping will be easier when the experience is less.





In the Indian job market openings for 15+ development is very thin and the interview is going to be very demanding in various skill. How to cope up with the expectation?

Any company is going to think about the return of investment in recruiting an experienced candidate. Currently, I have worked in X language and Y domain, what next? Most of the engineers who are 2000 pass-outs will face the crisis. Getting free advice, which is easier, may ask you to get updated with the latest technologies.

What are the current technologies as of the year 2020?
  • Microservices
  • Spring
  • Big Data, Hadoop 
  • Cloud
  • Openstack
  • AI
  • Node.js, React.js (from UI framework)
  • etc...

There are multiple technical doors that are open for you to choose from. Which one are you going to choose? Having experienced, any hiring company will check your Domain knowledge along with your technical skills. You may need to prove your technical abilities when you are in any product company's interview. Following is going to be a general interview structure 

  1.  Initial discussion with HR
  2. The hiring company will send you a link where you are going to do problem-solving online.
  3. Once Success, a team member will ask you to share the desktop and ask you to code.
  4. The third step may be extended to another level too.
  5. Then come the director's round and hiring process.

This whole blog site enables you to have a successful round in the 2, 3, 4 steps. Any Java developer may face this crisis when he is in their early 40s. This is the time to get our basics strong more than expecting a high paying job with the obtained technical knowledge in the current working company. Remember always interviews are going to have the bar raised and you are expected to rise above the bar. In one of my interviews, I was assigned a java opensource project and asked to get it enhanced and send it back within a week. 

The bar is always high when you go for an interview although the daily chores are going to be an easier one. What could be the solution to this? Getting updated may also help you in landing a job but mostly the hiring companies will look for how strong are you in basics. It is time to revisit the basics and get the fundamentals strong before looking for a job. Now let us see what skills are required for an experienced java developer in the job market. An experienced Java developer will be positioned for an Architect position. First, we will be assessed based on our fundamentals. Following are the items I would strongly recommend for any experienced candidate to refresh

Problem Solving


The first and foremost level of interview is problem solving part. This problem solving helps to identify
a. how knowledgeable you are in coding,
b. Analytically how strong you are, 
c. In real time environment are you able to think about all usecases


You are given a login and asked to solve some coding problems in any of your known programming language. This interview is time bound. Within a given time, you need to solve the problem. For this you should have practiced some of the online problem solving websites such as hackerrank.com etc. I used to solve problems in hackerrank.com. Its quiet interesting to spend some time and solve some of its problems. For solving the problems, one should have the basic knowledge on Algorithms and data structures. Without that one cannot solve the problems.

Algorithm and Datastructures


This is the main area which you need to be strong. I would confidently say that candidates knowing algorithms and datastructures are very less in the market. This is going to turn the tables when you master it. Many of the problems are solved if you have abilities to map datastructures into some real world entities and run some algorithm on top of it. When you start learning the algorithm or datastructure you will automatically get the ability to map any real world entity into a datastructures. Say for eg,

a. if the problem is around searching you can use Hashmap as the datastructure for faster search.
b. If it is insertion or deletion you can go for linkedlist or Tree based on the problem.
c. If any problem involves travelling to different places use Graph.

In an interview you will be observed,

a. how you solve the problem?
b. how efficient/performant your solution is ?
c. Whether the solution can be applied to billions of object.

So when you are asked for problem solving think of objects to be in long, double, BigInteger etc. I would suggest any Java developers to solve and understand Robert Sedgewick's book Algorithms Part 1 and 2. There are other books which can help you, but I feel this author is quiet simple and covers all real world problems. The real cash cow is in algorithm and datastructure. Coursera conducts the course try to subscribe and get knowledge on it. When you practice algorithm always try to use pen and paper method instead of using IDEs.

Basics in Java - currently Java 8


To get back to fundamentals, I would suggest to take up Java 8 OCP. Nowadays complete industry builds product on top of Java 8 and still thinking of moving to Java 9. As of now Java 8 is going to give base platform. I would recommend to go for OCP. This is going to give you base knowledge on Java. Its common that lambda expression or generics are asked during the interview.

Note : This can be replaced with your language preference. Since I am from java background I have mentioned java here.


Though other skills are required during the interview, when one has edge over these topics can crack any technical interview and move on to other rounds. These topics can get you placed in top product companies. I would suggest anyone to go for a company which asks you Algorithm and problem solving questions. That way you can stay in the technical job



No comments:

Post a Comment

Reading and Writing JSON to a file

Why GSON? Nowadays JSON is more frequently used for data representation. There are a lot of libraries to convert java objects into JSO...