In this article, I would like to share the tips how to land the job offer in 3-4 weeks.
In order to land the job offer in the short period of time, it’s important that you practice algorithm and data structures problem frequently (either in your spare time or after work). The more you practice algorithms and data structures, the more chances you have to be offered the job.
- Practice the algorithm and data structures
There are many sites to practice algorithms and data structures such as hackerank, careercup, topcoder…In my experience, these two are efficient.
1.1 Buy a book “Cracking the code interview” and revise your knowledge on the data structure
1.2 Practice the problems on leetcode.com website
- If you come from another country other than US, there is always a gap of interview process in US and in your country. For example, in my country the interview is completely different from here. Thus, if you are new, practice first with the easy problem. The most important thing is that “try to resolve the problem by yourself, don’t look at the solution at first”. This will help you to build your brain to resolve another problem or more complicate problem.
- Target to resolve about 200 problems: each day you practice 5-10 problems, then you will be ready for job interview for software engineer position in 40 days or 20 days.
- There is also another good website is http://www.geeksforgeeks.org/. This site provides the solution/approach to resolve the problem first before jumping to the code. Thus it’s very useful.
- When you have already resolve the problem, don’t move on to the next. Think if you can optimize it. For example:
- Check if you can reduce the complexity
- Check if you can reduce the space
- Check if you can reduce the number line of codes
1.3 Practice system design: a good website is interviewbit
2. Market yourself
Make sure you write a very good and attractive resume. Your linkedin profile should cover your strength, experience, skills necessary for the job. In addition, it’s very important that you have your own project or websites which will attract more employers.
3. Prepare banking of questions
Per your experience and skills, prepare the list of possible questions and answers for each technology track. This is extremely useful when you have to interview with many companies. Going over the your note before each interview keep you always ready for every questions about your skills and experience.
4. Apply for the desired positions
If you come from another country, it’s a bit difficult to know a good website to apply for the job. Per my experience, these are very good websites
- Via referral: if you have your friend work at your desired company, ask them for referral. The process will be very fast to get an interview
- hired.com : this is very good website. The company will find us for the job, instead of our applying for the positions at the company. Therefore, the hiring process is very fast.
- stackoverflow: list all the companies’ job description and their visa sponsoring
- Linkedin, Indeed: make sure you choose the filter to apply for the job. Per my experience, I always choose filter for 1 day with the newest job
- Company website: this process of applying takes a lot of time because you have to fill a lot of information in the form.
5. Tips for interview
- Before each interview, make sure you study the company products and websites. Then add the question and answer into your note about “Why are you interested in the position at company x?” These are often asked by HR recruiter at the very first stage of the interview process
- Get yourself familiar with online coding tool such as coderpad.io or codility so that you will not be surprised on the phone screen or coding challenge
- During your interview with company X, make sure to have a separate note for that company. As you will interview with many companies, these notes keep you not get lost the information when you get into the deeper stages of the interview (which can take 3-4 weeks)
- There are also some companies providing you take home project (some are very easy, some are very challenging): make sure to write a clean code
- Onsite interview: often takes very long, about 4-6 hours. Thus, make sure you have big breakfast before interview (otherwise you will get tired or hungry in the middle of the interview)
- Big companies: Expedia, Amazon…they test you very challenging problems. The good thing is these companies provide you a very good learning exercise. Every time I interview with them, I learn something. Very interesting problem and they help candidate the best solutions.
- Middle size/small companies: Average problems. The interviewer rarely provide you the best solutions so almost no learning exercises.
6. Technology trend
At this time, for java track, the market requires developer skills in Spring Boot, microservices, python, Amazon Web services, React Js, Angular…so make sure to equip yourself with these technologies to get as many interviews as possible.
7. Organize your interview process
Normally the process to have job with direct hire takes about 3-4 weeks or more (up to 8 weeks). So if you are targeting direct hire or big companies, a good strategy is the best.
- Try to interview with small companies or average companies first to gain interview experience. These interview will help you learn how to answer and learn from failure.
- Try to push your desired company in the middle/end (as the interview may be very difficult) and you have no time to fail for your desired company.
- If your current skills/experience can’t match with big company like Amazon, Expedia or Google…try to interview with them first. They often provide you very good learning exercise in the interview so it’s very good for your next interview after that even though you fail.
These are tips that I can think of write now. Will write more when having time.
Any comments, welcome!