Part 3: Interview process
This post is the last one about my journey to get a job as a software engineer. In the first part, I explain all the experience you can learn by doing a side project and in the second one is about the preparation for interviews with tech companies.
Find companies that are hiring
As I said in the second part, the network is very important to help you to get a job. Unfortunately, as a fresh graduate student, your network will not be able to help you because it should not be enough strong.
Hopefully, you have still several options to get an interview and find a job even if you do not have a network yet:
- Career Fair in your school
- Company website, make a list about companies you want to work for and apply online
During this job hunting, I have mostly used the last option. When a company is interested by your profile, you should receive an email from a recruiter couple of weeks after you applied.
Tips: Go to a company website you want to apply and use 'ctrl + f' to search careers or jobs keyword. Click on the link and you should be redirected to a page where the company lists its needs.
Or, you can directly type on Google '[company name] careers'. For exemple, 'Apple careers' and you should find a list of vacant position at Apple company.
There is another option but it is not only for job seeking purposes. Indeed, reading technology news is a good way to know which companies get funded or which companies will open a new research and development center. It means that these companies will need to hire people.
Human Resources Interview
Usually, your first interview with a company will be an HR (Human Resources) interview. Often, you will start with non-technical questions. You will mostly talk with a recruiter about yourself, your skills, the company and the position you apply.
This first step will help the recruiter to have a deeper understanding about you and your interests. For you, you will have a better idea about the role.
Sometimes, he will challenge you with a technical question, but he will not ask you to code something. For example, you can have a question like what is the polymorphism or what is encapsulation in object-oriented programming.
After this first phone call and if the recruiter thinks your interest and your skills fit the company requirement, you will get other phone calls.
Most of the time, it will be technical interviews and the interviewer will ask you to code. Usually, the first thing he will do is to describe himself and will ask you to do the same. Then, he will ask you one or several algorithm questions.
How to answer an algorithm question
You will need to ask a lot of questions in order to have a better idea about the requirements and the constraints. These questions will help you to understand what the interviewer expects.
Follow up, you can start to think about a brute force solution and explain it to the interviewer. Then, you will need to improve your first solution in order to have an optimal solution in time and memory complexity.
Handling a rejection
Even if you are disappointed, handling a rejection is the easy part. Indeed, you just need to thank your recruiter for his time. You should also see a rejection as a training. Next time, you can avoid making the same mistake.
Fortunately, after a period of time, tech companies do not hesitate to interview again a candidate. So, you will have other opportunities to reapply to companies that rejected you. So, it is really important for you to keep a good relationship with your recruiter.
Handling an offer
On the other side, if you get an offer, it is the beginning of another challenge. You need to take a lot of factors into consideration. The first thing in mind is the financial compensation: salary, annual bonus, stock options, etc.
You should really think about your long term strategy. For example, the skills you will learn or how you can grow your career in this company.
The last factor is the work environment, it is a very important element and you should not overlook this. Especially, do not forget you will spend time with your coworker as much as your family members or friends.
I hope this article split into three parts helps you to find your dream job. I choose to write this post because I took a lot of time to find mine. By sharing my journey, I want to help other people in this long and stressful process.
Without any surprise, I start my career as a software engineer. I am the first engineer at Intuit in Paris office and I will mainly focus on QuickBooks product. I am so happy to be part of Intuit and participate in its adventure to win the French market. By the way, Intuit and QuickBooks are unknown in France.
Since I have joined the company, I have learnt a lot: Java ecosystem, React, GraphQL, Docker, etc. It is totally true even after the graduation, you will continue to learn.