by Dmitri Grabov
How to get your first software developer job
Barely a week goes by without The War For Tech Talent getting a mention somewhere in the news. However, when it comes to getting your first software developer role, things can be quite tough.
In the wise words of our in-house Talent Expert: “the hardest part of your career will be securing that first role.”
I have spent plenty of time both applying for developer roles as well as hiring developers. I would like to share some tips that we give to the students at Constructor Labs, which should help you create a strong application and get that coveted first role.
Technical preparation before the interview
This will be the first item on your CV that sends a message. It’s the easiest one to create the right impression with.
Do not use a Yahoo email address. They got hacked, and using them could send a message that you are not security savvy.
A Gmail address is generally seen as a good sign. Though, please use your real name as in the username part. Something like firstname.lastname@example.org could be perceived as unprofessional.
The best option is to use something like email@example.com. It creates a professional image and demonstrates that you have gone an extra step. Many developers, on seeing it, will stick the domain name in the browser to see your site. Now you have a chance to score some points.
Make sure you have a website at yourname.com or a country-specific URL like yourname.co.uk. This site should look as clean and appealing as possible. If you are not design-savvy, feel free to use a template which has a pleasant color palette and clean layout.
Your website should contain some information about:
- you and why you want to be a developer
- what technologies you find interesting
- what work you would like to do
It should also feature two or three portfolio projects that show off your skills. For each project, explain what it does, why you built it, and what problem it solves. Be sure to include which technologies it uses. Also, if the project was built by several people, explain what your role was and which parts you created. For each project, include a link to its GitHub repo. More on GitHub later.
Portfolio projects could be work done as part of your course, for a real world client, or could be a solution to an interesting problem. This is where you get the chance to shine. As with your portfolio website, make sure the design is clean and appealing. Good design is a proxy for quality and attention to detail.
Each project should solve a clear problem. You could build something ubiquitous, like a stock picker or a weather app. Though, choosing something original will help you to stand out from the crowd. Interviewers are human and would love to see something new and exciting. You could well be invited to an interview because that person wants to find out more about what you built.
While you may be new to software development, you can use your project to show off some some knowledge the hiring company may not have. Most companies tend to use tech that is a few years old. You can demonstrate your skills by using some brand new technologies which the company may not have a chance to use.
Each project you build should have a public repo on Github. However, do not share any work which is proprietary without the owner’s permission.
Each Github repo should have a README which explains what the project does and how to run it locally. It should also have a link to where the project can be seen running live.
All your code should be as neat as possible. Use consistent indentation as well as sensible function and variable names. Add comments to explain what your code does, especially if it is not obvious.
Github will display a graph of your public commits. Aim to commit and push code daily. This is as a sign of dedication and focus which employers will value.
Focus your CV on what you want to do rather than what you have done in the past. Start with a brief summary about why you are switching careers and what kind of role you are looking for. You may want to tailor this for each role to which you apply. Saying you are passionate about databases when applying for a front-end role is a poor move.
Include portfolio projects on your CV and explain what they do. List main technologies used for each project.
For past employment, only include information which is relevant to the job you are applying for. Read the job spec and truthfully tailor your CV to match the requirements.
The interview itself
Before the interview
Few companies have original interview questions. Most will use some combination of 100 popular questions for the main technologies required. Be sure to Google those questions leading up to the interview and remind yourself of the answers. Also, get as much practice as you can with coding exercises, for example using Codewars.
After the interview
Start keeping an interview diary. After each interview, write down the questions you were asked and the answer you gave. Be sure to look up the perfect answer and write it down. More likely than not, the same question will come up in another future interview.
If you liked the job, email the interviewer and tell them what you liked and reaffirm your interest in the role.
Follow up. Within two to three days of the interview, email the decision maker, thank them for their time, and reiterate your interest in the role. This is always a helpful prompt for them to provide feedback at the very least.
Interviewing can be stressful for some folks. Doing the above preparations will improve your chances at each stage and boost your confidence. Your first few interviews may be disasters, and that is absolutely fine. Mine certainly were. Aim to learn from each experience and improve with each attempt. You will soon build up practice and confidence that will get you your first developer role.