Dear friends,
I have close to 9 years of experience in the IT industry. I have been working in Java/J2ee background throughout my experience.
I have never worked or know in detail about datastructures & algorithms throughout my career. Hence I found it very difficult to get a high paying job.
I started preparing by solving n number of problems in datastructures & algorithms available in HackerRank (HackerRank), HackerEarth, Techdive (Java Interview Questions & Answers). It was very helpful and I gained more confidence to crack the interview.
Finally I landed up in a high paying job in a product development company.
My advice is, if you are not strong in DS & Algorithms it is very difficult to get a high paying job (above 20 lacs) in a product development company. Remember in a service based company the average salary you can get for 9+ experience is only (14 – 17 lacs in Chennai). The number of high paying product companies & startups are very less in Chennai compared to Bangalore. So you got to be highly competitive to get atleast above 20 lacs.
I will list out some of the top paying companies in Chennai.
Amazon
Software AG
AstraZeneca
BankBazaar
Symantec
Yume
Paypal
CitiGroup
Caratlane
Indix
FreshDesk
The things is these companies expect highly skilled professionals but they pay well.
The basic skills which they look for in a software developer is problem solving & Analytical skills, strong in datastructues & Algorithms, OOPS & OS Fundamentals.
You should be very strong in datastructures & algorithms, in-depth understanding of the technologies you work on and you should be a hardcore techie.
Majority of Java developers are good in latest technologies like Spring/Struts hibernate , REST Webservice, Oracle, Jquery, Angular JS, AWS, Hadoop and much more… but the lack of this one skill (DS & Algo) is making them stay far behind in getting a high paid job. Remember if the basement is not strong then there is no use in constructing a 100-storey building.
Note:
Many Java developers ask the question, why do we need to learn datastructures & Algorithms as we never use them in day-to-day programming job. As the Java framework is advanced it has all the API’s to manage data and there are also third party api’s available to work with collections. Hence in day to day programming life we never use DS & Algorithms as a java developer as all the API’s are already built-in. Even I had the doubt and even asked the interviewer about it… The reason is pretty simple & straight forward
Can you imagine a software product or programming language without DS & Algorithms?
As a Java developer we may know how to use an arraylist/hashmap/set etc., but how do they really work internally? They are made up of datastructures like linkedlist/binarytree. Java framework contains API’s for sorting hence we use it like a blackbox and never know which algorithm it really uses(merge sort). What if our requirement changes and we need a different sorting algorithm altogether?
As a java developer it may be easy to use the API’s or third party libraries to handle data, but without fundamental knowledge of DS & Algorithms we cannot choose/compare various api’s which suits our requirement.
If you are strong in fundamentals (DS & ALgorithms/problem solving).. you can work with any programming language & solve complex business problems with ease.
Hence top product companies look for these fundamental skills in interviews.
You should be patient and at the same time persistent to achieve your goals. Try to attend as many interviews as possible until you reach your goal. Initial failures or fear of failures should never stop you. I have failed in more than 30 interviews for about 1 year before tasting success.
First of all, set your goals, make a plan and work towards it. Never ever give up for anything until you succeed.
You may wish for anything, there is no limit to what you wish for in your life… but you’ll only get what you deserve. This is an universal fact.
Try to imagine that you have already succeeded at least once or twice a day.
If you set a goal don’t compromise it for anything. Once you start compromising , then it will become your habit and you’ll be average throughout your life.
As a matter of fact, anything is possible in this life but you should make yourself eligible for it.
All the best! Success is yours!
Source: https://www.quora.com/Which-are-the-highest-paying-software-companies-in-India/answers/26156415