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
- Initial discussion with HR
- The hiring company will send you a link where you are going to do problem-solving online.
- Once Success, a team member will ask you to share the desktop and ask you to code.
- The third step may be extended to another level too.
- 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
The first and foremost level of interview is problem solving part. This problem solving helps to identify
a. how knowledgeable
you are in coding,Problem Solving
The first and foremost level of interview is problem solving part. This problem solving helps to identify
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.
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,
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