I Hire Software Developers. Your Resume Is The Reason You’re Not Getting Interviews
Did you ever apply for that software job and not hear anything back? Maybe you did hear back, but you stopped reading after “We are sorry to let you know that…”.
Perhaps you are in the process right now and want to do whatever you can to get your foot in the door and secure an interview.
What do you need to do? How can you make sure you don’t repeat the same mistakes when nobody even tells you what mistakes you made?
I’ve been hiring software engineers and developers for over 15 years. I’ve read through 1,000’s of resumes and I will share with you some key do’s and don’ts that will greatly enhance your chances of getting an interview.
1. Your goal — make it as easy as possible to be chosen for interview
You have a huge influence over whether you get chosen for interview. It’s not random chance. It’s all about how you present yourself on a few pieces of paper. It’s about making it as easy as possible for the hiring manager to choose you.
Each advertised job will typically attract hundreds of applications. It takes a lot of time and effort to read all these applications and unfortunately the majority of them are pretty poor. This is however, good news for you.
They are poor because information is missing, or the experience described is too general. All the information should be presented on a platter for the hiring manager. It should be detailed and easy to find. If somebody has to call you or email you to get clarity on something, you are putting an obstacle in their way.
For example, imagine you are in a supermarket and have to choose between two identical loaves of bread. One of the loaves is on the shelf in front of you and the other is at the opposite end of the store. Which do you choose? You obviously choose the one in front of you, as it is less effort.
Make yourself the loaf that is easiest to choose.
2. Write a summary or cover letter
This is the most important part of any application and the majority of applicants don’t include it. For a current role I am hiring, only 25% have included a cover letter or a summary.
Why is a cover letter or summary important?
Would you buy a book you have never heard of, that doesn’t have a summary on the back cover? Unless you have to buy it as part of a course, the answer would be no. A good book summary will tell you about the author’s credentials and whet your appetite for the story inside.
A summary of your relevant experience, should leave the reader with a good understanding of who you are and why you are perfect for the role.
What should the summary contain?
- Your personality. Write it so that “you” shine through. Don’t make it so formal you strip it of who you are.
- Your enthusiasm. Explain why you want the role, what it means to you. If you can’t come up with anything — ask yourself why are you applying for it?
- Address all the key requirements for the role. Go through each one and explain how you meet the requirement. If the role requires RESTful API development experience, then call out your experience in this area.
- No more than 1 page. It’s a summary so keep it as succinct as possible.
3. Format and layout your resume properly
First impressions matter and the first thing that hits you with a resume, is the presentation. Before you even start to read it, the overall style jumps out and imprints on your brain.
- Keep it under 3 pages
- Use a consistent font, size and modern type face
- Use sections to break it up. Summary, Career history, Education, Personal interests
- Only use PDF. It ensures your resume looks exactly the same on my computer, as it did on yours.
4. Add your github, bitbucket and stack overflow accounts
You are a developer and the main showcase of your talents is the code you write. Make sure that you add links to your coding accounts. If you don’t have any, you should create them and keep them updated.
If you have a stack overflow account then list it. If you contribute to open source projects, add them. If you have an online presence that in any way supports the role you are applying for, make sure it’s listed.
If you haven’t listed any accounts showcasing your talents, you are making it harder for the hiring manager. We want to see some code before we invest time in interviewing you.
If a hiring manager has to contact you to ask for sample code, it’s an extra step they would rather not do.
5. Don’t list every technology you have ever come across
It may seem like a great idea to list all the tools, technologies and skills you have ever come across, like this:
Typically these lists fill a page and it’s a waste of valuable space. When questioned in interviews about all these skills, it’s not uncommon to hear something like:
I used that for a couple of months on a project 3 years ago. I don’t remember much about it now but I’m sure I could pick it up again if I had too.
Be specific with your skills
The technologies you have used should be incorporated into your summary and your career history. They should be highlighted as part of your achievements and there should be a clear reason for you to include them.
Often these lists can backfire against you. For example, do you think using a Google font is a skill for a Frontend Developer? A skill worth calling out on your resume? I question if you really know what you are doing when I see these kind of things.
But shouldn’t I add them for keyword searches?
Don’t Recruiters search resumes using keywords? Shouldn’t I at least have a long list of them so that I come up in searches?
All the key skills and technologies you use should already be present in your summary and career history. These are the areas you want to find work in. Is their any point gaming the system to get selected for a job you are unlikely to want?
If you are a backend web developer, it’s likely you also know how to do some HTML and use various JS frameworks. It’s not your area of expertise, it doesn’t float your boat, but you know enough to get by. Unless you want to come up in searches for frontend developers, you should play down these technologies and focus on the ones that really matter to you.
6. Include App store links or websites you have worked on
If you have worked on mobile apps and they are in the app store, make sure you include the links to them.
If you have worked on websites, include the URL’s.
Don’t just include the links, add the specifics of exactly what you did as described below.
7. Be very specific about the development work you actually did
We are now getting into the details of your experience within a particular role. This is the key information your potential employer will look for. This tells them if your skills, match the skills they want.
Unfortunately, under the description of a role, I see a lot of this type of thing:
- Built the xyz IOS mobile app for prestigious client
- Worked collaboratively to design and build the xyz REST API
- Translated mockups and wireframe into frontend code
This seems to tell you a lot, but it doesn’t tell you very much at all. Let’s look at the first one to see why.
Built the xyz IOS mobile app for prestigious client
It tells me you can build an IOS mobile app, but it doesn’t tell me exactly what you did.
This would be much more useful:
- Worked as the Senior IOS Developer on the xyz mobile app leading a team of 4 developers
- Using Swift 4, I developed the registration, login and account management screens and flows against a RESTful API that returned a JSON payload
- The team achieved 80% automated test coverage, using a combination of unit tests and Appium
The re-written description gives us a lot more information about you. We now know:
- You are capable of leading a team of developers
- On this project you were the Senior developer (this may not be your formal title)
- You can program in Swift 4
- You personally developed the registration, login and account screens. As you provided the link to the app on the app store, the hiring manager will have downloaded and studied the app
- You know how to work with RESTful API’s and JSON
- You know about best practices for test automation
You now have a personality
Do you see how all of these additional details help to flesh out your personality ? We start to get a sense of who you are, how you think and what your core skills are. The 2D resume starts to become a 3D developer in the mind of the hiring manager.
It makes the interview a lot easier
By drawing out the specifics in your resume, you have already prepared yourself for any questions around what you did in a role. It also helps to lead the interviewers questions.
You have already stated exactly what you did, so the interviewer wont say “You built an IOS app, but what did you actually do”?
Instead they will go through the points you listed and ask specific questions around them. This will at least give you some control over what happens in the interview and you can be well prepared for it.
8. Highlight your software engineering principles and best practices
You will make yourself stand out from the crowd if you write about how you have applied S.O.L.I.D principles and best practices.
For example, show your potential employer you understand and know how to implement design patterns, unit tests, CI and CD. You Lint your code, squash technical debt, code defensively and share code ownership.
Whatever principles you have used, showcase them through your resume. It demonstrates your deeper knowledge of software engineering and shows you have learnt good habits.
9. Add what you learnt most from the role
Every role presents opportunities for growth. These are the areas you found particularly difficult or challenging. At the time, they can seem to be the worst part of the job. Sometimes they are so bad you leave because of them.
When you look back, you will recognise you learnt a key lesson and that it’s something you continue to use.
You may think of these as failures and not something to put on a resume, but self awareness and self correction are huge strengths to call out. For example, you could describe your time as a developer in a fast paced agency like this:
The time pressures for delivery were very tight. We had to cut corners, which meant we didn’t have unit tests. It made me very uncomfortable to be working that way as I didn’t know the quality of my code.
I did learn how to think about solutions in different ways though. We didn’t have time to work through elaborate designs. We had to come up with very practical solutions that met the immediate business need. Its helped me to become more creative with my solutions, but not having unit tests was a mistake.
This shows you knew best practice was not being followed and you didn’t like it. It also shows you did what was required within this business to get the job done.
10. Tailor your resume for each job you apply for
Every role, within every organisation is unique. The frontend developer role you had for that media company, is different to the frontend developer role that you had for the financial institution.
You will find differences in the technology stack, development processes, agile methodology, industry domain knowledge, definition of done, engagement models etc.
Even though you may have created the perfect resume for the other role you applied for, it wont be the best resume for the next role. You may not have to make many changes, or you may have to make a lot, but you need to make sure you have addressed all the key skills and experience.
Keep a separate version for each role you apply for and give them meaningful filenames, so you can easily find them.
11. Add a section for your personal interests
Listing your interests outside of work helps to flesh you out as a real person. It builds a more complete image of who you are and makes you more interesting.
What if you are negatively judged for your hobbies though? Wouldn’t it be safer to leave them out?
Unless the mention of your hobbies causes the room to divide and fights to break out, you can safely list them. It also gives the interviewers additional topics to ask you about when that time comes.
12. Be 100% honest about your skills and experience
You may be tempted to embellish what you have done or stretch the truth to get yourself an interview. You may not have actually built the API you listed, but you sat next to the person that did and you’re sure you know how they did it. Surely that’s the same thing?
That line of thinking is bound to be found out. Even if you bluffed your way through the interview question about it, you have nowhere to hide if you get hired and have to implement it.
13. Don’t call yourself an expert
Don’t be tempted to say you are an expert in something. “Expert” is a relative term and it means something different to each person.
You may have spent 5 years working solely in C++ and consider yourself an expert in this language. What if the person reading your resume has spent 12 years coding C++ and they still don’t think of themselves as an expert? What will they think of your boast?
Be careful about how you describe yourself. You don’t want to come across as sounding arrogant.
14. Proofread everything
Your spell checker will not find all your typos as some terms are very specific to the tech sector. Proofread your resume and then do it again. Give it to your friends and ask them to proofread it.
Not long ago I received a resume where the candidate was highly proficient in MangoDB.
15. This is your life story. Treat it like that.
Any writing is ultimately judged by how it makes its readers feel and your resume is no different.
When you read through your resume, you should be aware of your emotions. Ask yourself explicitly “how do I feel”?
This is your story, your journey.
You should feel pride and you should feel a sense of excitement at what you have done. If you do, then your reader will also pick up on this.
But, it’s more than likely you are embarrassed by your lack of achievements or you can’t find anything of interest in what you have done. Maybe you have gone way over the top describing your achievements and it doesn’t feel authentic anymore.
Everybody has an interesting story
Some of us are born story tellers and some of us aren’t. Some of us can make a trip to the supermarket sound interesting whilst others can’t even excite us by their tales of trekking up Everest.
If your resume is leaving you flat, if you can’t get at all excited about it, then find someone to help you. Ask your friends to read it or choose a professional recruitment or resume service.
If you still don’t think it’s worth that much effort then remember — This is your life story. Treat it with the reverence it deserves . This is likely to be the only document a potential employer will ever read about you. Make them want to meet you.