How to Write a Software Engineering Resume: The Definitive Guide (2019 Edition)
In the fast-paced world of software development, having a polished and compelling resume is essential to securing your dream job. But with ever-evolving technologies and increasing competition, what does it take to craft a software engineering resume that stands out from the crowd?
As a full-stack developer with over 10 years of experience and a hiring manager myself, I‘ve reviewed hundreds of resumes from aspiring programmers to senior architects. In this ultimate guide, I‘ll share proven strategies and insider tips for creating an impactful resume at every stage of your software engineering career.
Whether you‘re a coding bootcamp grad or a veteran developer, this article will teach you how to spotlight your strengths, overcome limited experience, and make a lasting impression on potential employers. We‘ll dive into the latest hiring trends, common pitfalls to avoid, and go behind-the-scenes with real examples from top tech companies.
By the end, you‘ll have a software engineering resume that opens doors and lands you interviews. Let‘s get started.
The State of Software Engineering Hiring in 2019
To create a resume that resonates with employers, you first need to understand the current hiring landscape for software engineers. And in 2019, demand is higher than ever.
According to the U.S. Bureau of Labor Statistics, employment of software developers is projected to grow 24% from 2016 to 2026, much faster than the average for all occupations. The rise of mobile, AI, big data, and cybersecurity is fueling the need for skilled programmers across industries.
This table shows the top industries hiring software engineers and the number of open positions:
Industry | Open Positions (2019) |
---|---|
IT Services & Consulting | 107,348 |
Computer Software | 77,035 |
Aerospace & Defense | 372,172 |
Health Care | 364,867 |
Finance | 53,418 |
Source: Burning Glass Technologies
At the same time, many companies report struggling to find qualified candidates to fill these roles. A 2019 Stack Overflow survey found that 87% of hiring managers say it‘s difficult to find software engineers, with the majority citing lack of experience as the biggest challenge.
What does this mean for you? With the right resume and job search approach, opportunities abound in the current market. But to get your foot in the door, you need to quickly demonstrate your technical capabilities and the value you can bring to an engineering team.
Decoding Software Engineering Job Descriptions
Before you start writing your resume, it‘s crucial to understand what hiring managers are actually looking for in a software engineering candidate. And that begins with thoroughly decoding the job description.
I always advise my clients to print out the job posting and go through it line by line, highlighting the core skills, qualifications, and "nice to haves". From there, you can map your background to the company‘s needs and identify areas to emphasize on your resume.
Let‘s look at a sample job description for a Full Stack Software Engineer:
Full Stack Software Engineer
BigCo is seeking a Full Stack Engineer to design and develop scalable software solutions. In this role, you will work collaboratively to gather requirements, build new features, and maintain our core products. The ideal candidate is a team player with experience across the web stack and a passion for writing clean, well-tested code.
Responsibilities:
- Develop web applications and services using React, Node.js, and MongoDB
- Work with product owners to understand requirements and business goals
- Write unit and integration tests to ensure code quality
- Collaborate with UX designers to implement intuitive, responsive user interfaces
- Optimize applications for speed, scalability, and reliability
- Mentor junior developers and contribute to documentation and best practices
Qualifications:
- B.S. in Computer Science or equivalent experience
- 3+ years professional experience in full stack web development
- Expert knowledge of JavaScript, HTML, CSS
- Experience with modern JS libraries and frameworks (React, Angular, Vue)
- Familiarity with RESTful APIs, database design, and performance tuning
- Understanding of Agile development methodologies
- Excellent problem-solving and communication skills
- Bonus: experience with TypeScript, GraphQL, AWS
From this description, we can extract several key points to address in the resume:
-
The company is looking for a well-rounded developer who can work across the stack (frontend, backend, databases). Your resume should show experience in all these areas.
-
Specific technical skills are emphasized, like React, Node.js, and MongoDB. If you have these skills, make sure to feature them prominently.
-
The job requires collaborating with multiple stakeholders (product, design, junior devs). Use your resume to highlight your communication and mentorship abilities.
-
Familiarity with industry best practices like testing, Agile, and documentation is important. Look for ways to demonstrate your knowledge of modern development methodologies.
-
Bonus skills are listed, which can help you stand out if you have them. Don‘t be afraid to include niche or emerging technologies.
By tailoring your resume to speak directly to the main points in the job description, you‘ll show the hiring manager that you‘re the right fit for the role. I recommend creating a custom version of your resume for each position, tweaked to the company‘s specific needs and terminology.
Crafting a Compelling Software Engineer Resume
Now that you know what employers are looking for, let‘s break down the key components of a software engineering resume section by section. I‘ll share real examples from successful candidates and offer expert tips for framing your background effectively.
Contact Info and Links
At the top of your resume, make it easy for hiring managers to get in touch by including:
- Your full name
- Professional email address
- Phone number
- Location (City, State)
- Links to GitHub, personal website, LinkedIn, and any other relevant profiles
Summary or Objective
Unless you‘re a recent graduate or making a major career shift, I recommend skipping the objective statement in favor of a concise professional summary. In 2-3 sentences, explain what makes you a standout software engineer. Tailor your summary to the role, highlighting your most relevant skills and experiences.
Here‘s an example summary for a mid-level full stack developer:
Full stack engineer with 5+ years experience designing and developing responsive web applications. Skilled in React, Redux, Node.js, Express, and PostgreSQL. Passionate about writing scalable, clean code and collaborating across teams to deliver robust features.
Skills
The skills section is one of the most important parts of a software engineering resume. It‘s your chance to showcase your technical toolbelt and demonstrate your depth of knowledge. I suggest organizing your skills into categories like:
- Programming languages
- Web technologies & frameworks
- Databases
- Cloud platforms
- Tools & methodologies
Here‘s an example of a well-rounded skills section:
Skills
Languages: JavaScript, Python, Java, C++, SQL
Web: React, Redux, AngularJS, Vue.js, Node.js, Express, HTML5, CSS3
Databases: PostgreSQL, MongoDB, MySQL, Cassandra
Cloud: AWS, Google Cloud Platform, Azure, Heroku
Tools: Git, Docker, Jenkins, Jira, Agile, TDD
If you‘re targeting a specific type of role, don‘t hesitate to create a "Specialties" section to highlight your niche. For example, a Data Engineer might list:
Specialties
- Big data platforms: Hadoop, Spark, Kafka
- Data warehousing: Redshift, Snowflake
- ETL: Airflow, AWS Glue
- BI tools: Tableau, Looker
The key is to strike a balance between breadth and depth. You want to show that you‘re well-versed in a range of technologies, but also have deep expertise in your areas of focus.
Professional Experience
When it comes to your work history, many software engineers make the mistake of simply listing their day-to-day responsibilities. But to truly stand out, you need to frame your experience in terms of your most impressive accomplishments and the impact of your work.
For each role, include your title, company name, dates of employment, and 3-5 bullet points that call out your top contributions. Whenever possible, quantify your achievements with hard numbers and metrics.
Here‘s an example of a well-crafted work experience entry:
Senior Software Engineer, ABC Tech Inc. (June 2016 - Present)
- Developed and shipped highly interactive web applications for Apple Music using Ember.js
- Built and maintained the Apple Music marketing website, increasing conversions by 10%
- Architected a dashboarding solution for streaming analytics and royalties payments, saving 30 engineering hours per week
- Mentored a team of 5 junior developers, improving velocity by 15% via pair programming and code reviews
Notice how each bullet point starts with a strong action verb and highlights a specific technology or result. Avoid generic phrases like "responsible for" or "assisted with". Instead, use powerful verbs like:
- Developed
- Architected
- Optimized
- Launched
- Collaborated
- Mentored
I also recommend tailoring your work experience to the job at hand. Study the job description and be sure to mirror the language and skills the employer is looking for. If a company is hiring for an AWS role, play up your AWS projects and expertise.
Projects
Personal projects are one of the best ways to differentiate yourself as a software engineer, especially if you‘re a newer developer or transitioning into the field. It‘s a chance to show off your coding skills, creativity, and passion for your craft.
Dedicate a section of your resume to 2-3 of your most impressive, relevant projects. For each, include a brief description of the project, the technologies you used, key features, and a link to view the code or demo.
Here‘s an example of a standout project entry:
Open Source Contributor, Webpack (September 2018 - January 2019)
- Implemented a new plugin system for improved build performance with TypeScript and Node.js
- Reduced initial build time by 20% and incremental build time by 90%
- Added detailed documentation and examples to make the plugin system more approachable for users
- Pull request was merged into the webpack@5 release
If you‘ve worked on any projects with quantifiable metrics, be sure to include those numbers. Maybe your app served X number of users or processed X number of requests per second.
When choosing which projects to feature, think about how they relate to the job you‘re applying for. If a company is looking for React expertise, highlight your React-based side projects or open source work.
Education
For software engineering roles, hiring managers generally expect to see a relevant degree or formal training. List your education towards the bottom of your resume, including:
- Degree
- Field of study
- School name
- Graduation year
For example:
B.S. Computer Science, XYZ University, Class of 2015
If you completed any notable coursework, research, or academic projects, you can include those as well. Just keep it brief and tie it back to the job requirements.
If you‘re a self-taught developer or boot camp grad without a traditional degree, you can still craft a compelling education section. List relevant courses, certifications, or online tutorials you‘ve completed.
For example:
- Hack Reactor Coding Bootcamp, 2019
- Udacity Mobile Web Specialist Nanodegree, 2018
- Coursera Deep Learning Specialization (5 courses), 2017
The goal is to show that you have a strong foundation in computer science concepts and a dedication to continuous learning.
Mistakes to Avoid on Your Software Engineer Resume
I‘ve seen hundreds of software engineering resumes over the years, and there are a few common pitfalls that can quickly land you in the "no" pile. To boost your chances of securing an interview, be sure to avoid these blunders:
-
Spelling and grammar errors. As a software engineer, you‘re expected to have strong attention to detail. Typos and spelling mistakes on a resume call that into question. Always proofread your resume multiple times and consider having a peer review it as well.
-
Documenting every project you‘ve ever worked on. Hiring managers don‘t need to see a comprehensive history of your coding journey. Curate your resume to showcase your best, most relevant work and projects. If it doesn‘t relate to the job at hand, leave it off.
-
Inflating your abilities. Be honest about your skills and experience level. Don‘t claim to be an expert in a technology you only have passing familiarity with. Most interviewers will quickly see through any attempts to misrepresent your qualifications.
-
Using an unprofessional email address. Your "[email protected]" email won‘t impress recruiters. Stick with a professional handle, ideally featuring your first and last name.
-
Ignoring applicant tracking systems. Many larger companies use ATS to automatically scan and filter resumes. To ensure your resume makes it through, be sure to include relevant keywords from the job description, use a standard section format and label your section headers clearly.
-
Focusing on responsibilities over results. Hiring managers don‘t just want to know what you did in a role, they want to see the impact of your work. Whenever possible, quantify your accomplishments and tie them to business objectives.
-
Including irrelevant personal information. Details like your age, marital status, or hobbies have no place on a resume. Keep your resume focused on your skills and professional experiences.
By sidestepping these common mistakes, you‘ll ensure your software engineering resume makes a positive first impression and positions you strongly for the interview round.
Key Takeaways and Next Steps
We covered a lot of ground in this guide! Let‘s recap the key points for crafting a standout software engineer resume:
- Frame your resume in the context of the current software engineering job market and hiring landscape.
- Thoroughly decode each job description to identify the core skills and requirements to target on your resume.
- Structure your resume clearly with key sections: summary, skills, work history, projects, and education.
- Tailor your skills and project sections to demonstrate your fit for the specific role and company.
- Focus on highlighting your most impressive accomplishments and the measurable impact of your work.
- Avoid common pitfalls like overly lengthy resumes, typos and grammatical errors, and unprofessional email addresses.
I hope this guide has given you a solid blueprint for developing a software engineering resume that gets you noticed and lands interviews. As a next step, I encourage you to set aside a few hours to update your resume using the strategies we covered.
If you‘re looking for more hands-on guidance, consider working with a technical resume writer or coach who can provide personalized feedback. You can also tap your network for feedback or consider attending a resume workshop through your alma mater or local coding bootcamp.
Remember, your resume is a living document that should evolve along with your skills and experiences. Make a habit of regularly updating it to reflect your latest projects and achievements. Keep a brag document or master version that you can draw from as needed.
Most importantly, don‘t get discouraged if you don‘t land your dream job right away. Breaking into software engineering takes persistence and a willingness to learn and grow. Keep refining your resume, expanding your skill set, and putting yourself out there. With the right approach and mindset, you‘ll find the perfect fit.
Happy job hunting!