In this article, we are going to learn how to create a resume as a software engineer that gets you noticed.
In my experience, resumes are the most important things that can possibly increase your chances of getting a good job besides your qualifications and your skills.
No matter how qualified or skilled you are, if you are not able to present yourself effectively through your resumes to the recruiters, you will have a hard time getting yourself shortlisted for the job.
Your skills and your knowledge will help you to clear the interviews, but to get an opportunity to interview will be solely based on your resume.
Being such an important topic, it is hardly taught in the academic year.
I can proudly say that resumes are what have me helped to land jobs in some of the greatest tech organizations.
Being born in India which produces more engineers than the population of Sweden every year, my degree was not able to make an impact in landing a job, thus I shifted my focus towards gathering skills and showcasing the skill effectively in the resume and it worked. Recently I landed a job in the US based sales-tech unicorn working remotely.
Through this article and based on my experience I am going guide you on how to create a good resume as a software engineer.
The resume will be focused on software development, frontend development, web development, mobile development, DevOps, Site reliability engineers, and Quality assurance engineers.
What do recruiters look for in a software engineer’s resume?
To understand what recruiters look for in a software engineer’s resume, we will have to first understand how job openings are created.
Let us understand it through this example. Generally, a team in any tech company is composed of 4 major groups.
- Product team – Product managers based on the leadership discussion come up with a new feature set or a product requirement that has to be built, they draft the product specification document that clearly mentions what has to be built.
- Engineering team – The product manager goes to the Engineering team and specifies what has to be built, please look at the engineering aspects of it. The engineering manager asks the team to come up with the technical specifications of the frontend, backend, reliability, and quality (testing).
- Design team – While the engineering team figures out how the product has to be built, the product manager along with the designers creates the mockups or the design of the product, based on the design engineering team will finalize the engineering architecture of the product.
- Quality/Reliability – Once the product is developed, it has to be tested thoroughly and then released and made available to the public, meanwhile it has to be monitored for errors and bugs.
The resource requirement takes place from the engineering team for the software engineers.
Engineering managers specify that we are short of some resources to build the product and we would need to hire people with these skill sets.
Then the opening’s are listed by the recruiters.
Now this is a general process in a product organization, it may slightly differ organization-wise.
For freshers, be it campus hiring or off-campus drive, they are hired with general computer programming skill set and then accordingly allocated to different teams, thus you will see people interviewed as software engineers are asked to work as Frontend Dev, Backend Dev, or Site reliability engineers later.
Now once the recruiters are clear with requirements on what type of candidates they have to hire, along with the senior engineers, they draft the Job description and roll out the vacancies.
Thus if you notice, recruiters are just following instructions and they are mainly trying to get the best candidate as per the job description. So the resume you will create should be readable and understandable to the recruiters first and then to the interviewer.
Resumes should be full of accomplishments.
While there is no certain rule that is being followed, as an industry practice from Silicon Valley (as Indian IT is influenced by US Silicon Valley), recruiters want the resumes to be full of accomplishments.
After reading the Cracking the Coding Interview book and Google Resume 101 and then screening multiple resumes of folks who work in top companies (collected the resumes from LinkedIn when someone shared an update about their new job), I came to the conclusion that resumes should be filled with the accomplishments.
The general rule of thumb to follow is to mention your work as Solved problem X using the solution Y that provided the result Z.
The majority make the mistake of mentioning our day-to-day work in the resume which does not give any impression of your credibility to the recruiters, all it gives is a sense that you are not aware of the work you doing, you just following the commands blatantly.
As a software engineer, it is your job to develop things and you are hired to do your job which is assumable, what really matters is why you are developing things that you were asked to develop.
And if you did develop, what solution did you implement, and when you implemented that solution what was the outcome of that?
The majority of recruiters from good product-based organizations are mostly interested in the impact of your work rather than your work itself.
While things are easy to explain verbally, they are harder to put in the words in the resume as we are not seasoned writer, but with practice you should be able to write well. Let me explain how you can mention your daily work in your resume.
Resume for frontend developers
The first thing is to figure out what type of application you are creating as a front-end developer.
I categorize frontend applications into 3 parts
- A web application that requires SEO and is a SASS.
- A web application that is a SASS but does not require SEO.
- A web application which will be used as an internal tool within the organization.
Does not matter which type you are working on, all of these will impact the business of the organization in one way or another.
Thus it is important for you to first figure out, if you are creating something or developing something, why are you doing that?.
Now let’s say you have created an interview slot manager as an internal tool within your organization and mentioned it like “Led organization’s Interview Slot Manager project showcasing frontend skills” in your resume.
If you have led the development of the tool, it already showcases your frontend skill, you don’t need to mention it explicitly, but this doesn’t give the recruiter any insight into how you did development and what was the result after creating the tool.
This can be better written as “Created an interview manager in React and Redux as an internal tool to automate the hiring process in the organization to handle end-to-end recruitment process, from shortlisting to scheduling interviews to tracking applications and releasing offer letters.”
This clearly specifies that you created the tool using React & Redux (technology) to automate the hiring process (problem) and provided the organization to handle the end-to-end recruitment process (result).
The way you write things matters the most.
Here is another example,
“Creating a Database dashboard in Reactjs” can be written as “Created an internal tool to automate the data processing and handling, building an interface in React and Redux that helps in accessing and managing the DB with a robust UI for the non-technical employees”.
The second statement clearly states why you created the product, using which technology and what was the result of it.
“Improved the performance of the website by reducing load time” can be written as “Followed the best practices of the web development, implemented server-side and DNS caching to improve the load time of the website giving the boost to the performance which really helped in improving the SEO of the website that resulted in showing 50 pages under top 10 results”.
When you have improved the performance of the website by reducing load time, what impact does it create, it should be clearly mentioned.
Adding random numbers will do more harm than good, the best way of calculating the result is by monitoring tools such as Google Analytics or Sentry and discussing things with your manager to analyze the impact of your work.
Frontend is not limited to the web but the principal remains the same, if you are a mobile or desktop frontend developer, then SEO does not come into the picture, everything else is common.
Resume for backend developers.
While the frontend work is more user-centric, the backend work is more performance-centric because this is where all the heavy computation takes place.
Many think that the backend developer’s job is to create the Rest APIs. While this is true according to the picture portrayed on social media and Edtech campaigns, APIs are just a way to exchange data, the real magic resides under the logic and the data processing.
The backend developer’s job is to implement efficient algorithms using data structures and process the data to provide the desired result and way more.
Frontend shows the data received from the backend, thus it is the backend where logic building takes place.
You should never mention anything such as “Created search API for the e-commerce site” in your resume.
Rather focus on the impact of your work, for example, you can mention it like “Implemented a variation of merge sort algorithm to efficiently sort the data in O(NlogN) time and O(1) space for the search API”.
This shows that you are aware of the merge sort algorithm, and you understand it working well, thus you implemented a variation of it, and the variation was used to reduce the space from O(N) to O(1).
Rather than mentioning “Developed scripts in PHP and Python” you can mention “Developed scripts in PHP and in Python to create demos to introduce the new features (written in C++) to other teams and products inside the company”.
“Worked on the Ad’s improvement logic” can be written as “Designed a system that figured out relevant products of fashion and health category on SERP page on keyword ads. This had a click-through rate of 1.2% over a million expressions and brought in revenue of $2000 daily”.
“Created the APIs to show the success rate of payments” can be written as “Updated the existing API to provide a detailed breakdown of the success rate for each channel such as UPI, Internet Banking, Direct payment, etc so that the team can insights on the failure and work on its improvement”.
In resumes, the descriptive details that are to the point are most important. Irrespective what type of development you are doing, at work you do maintenance, enhancement, bug fixing, reporting, etc.
Fill your resume with the types of words that gives a sense of your achievements. This is my resume, you can check it out for your reference.
How your resume should look like?
You can use the one-column or two-column layout but it should be short, generally less than 1 page if you have less than 6 – 7 years of experience.
A recruiter only gets 10 – 20 seconds to go through your resume, thus keep it crisp, and to the point, and important details at the top and relevant details at the bottom.
At the top you should have your name in the center in the big letters, followed by your email address, phone number, LinkedIn, and GitHub link in a single line.
Resume for fresher software engineers
Freshers should have the highest qualification with the CGPA at the beginning, then your personal projects, make sure you create some good ones.
After that have your technical skills – don’t mention everything, mention skills that you are confident about, and categorize them.
In the end you can have your achievements and certifications.
Resume for experienced software engineers
Experienced folks should have their professional experience at the beginning, followed by their skills and then their achievements, and at last your highest qualification.
No need to mention personal projects if you have more than 3 years of experience.
The way you mention things in the resumes matters a lot and initially, everyone struggles, but with practice, you can create good resumes.
One strategy you can use is to create multiple variations of a resume, create one, take a rest for two days, and then create another.
Compare them and notice which looks good, or on the different job portals use the variations and see which provides the best results.