Depending on how much experience you have had, you’ll want to focus on different areas of your resume. In this chapter, we’ll share specific advice for students, bootcamp grads, career changers, senior and above engineers, tech leads, and engineering managers.
If you are still in school, you are already contributing to your future resume. On top of mastering software development, software engineering and computer science fundamentals, here are a few things you can consider that should help with your future job search.
All of these activities will help you grow faster—and these additional experiences can help you stand out when looking for jobs as you graduate. Internships can be a lot more than this, as you might get return offers from when you graduate.
As a bootcamp grad, your experience will hardly stand out. While you likely have learned basic software development skills, your time spent studying these concepts will be less than college or university graduates studying software engineering or computer science. You will, most likely, also be competing with several other bootcamp grads for the same position.
As a bootcamp grad with no professional software development experience, you will be able to apply to positions where hiring managers are okay with someone with no software development experience. Unfortunately, not all jobs will not be in this category.
Projects
Projects are one of the key areas where you can stand out and differentiate yourself. Most bootcamp grads will have projects listed that they did as part of their bootcamp course. To stand out, you’ll want to showcase better examples. Consider the following to stand out.
1. Publish projects with good READMEs on your Github page. Aim for the README to have a good summary, screenshots, details on how to run, and how to test. Take inspiration from projects with awesome READMEs.
2. Have tests for your project that can be run. Most bootcamp grad projects don’t have automated tests, such as unit tests or end-to-end tests. Many of them have not heard of TDD (Test Driven Development). To learn more about this, see the Learn Test Driven Development resource.
If you have tests in your project, add a “Running tests” section on your README, to make it clear how anyone can run these. For an example on how to document running tests, see how this is done in Leaflet.
Once you have tests in your code, call this out on your projects. In the project description, mention the code coverage percentage—and see if you can get this higher. Having built a project that is tested will already help you stand out from the crowd.
3. Contribute to other open source projects on GitHub. If you get to merge your pull request, you can claim that you’ve contributed to a project used by more than a certain number of developers. Stars on the project is a metric you can use here. For example, for a project with 28,000 stars, you can state: Contributed to the Leaflet, the leading open-source Javascript mobile friendly-interactive library with more than 28,000 developers using it.
4. Turn takehome projects and coding challenges into fully-fledged projects. Assuming you make it through the resume screen, a next step will be a coding challenge you need to submit. After submitting this challenge, don’t stop there. Continue the work and publish an even more polished solution online, with code on Github, tests in place, and a nice user experience. Consider spending a little money for a domain and hosting, and have this project be accessible to anyone—and add it to your resume.
If your takehome project doesn’t take you to the next round, ask for feedback, and build that feedback into this project. Once you publish a project you’re proud of, you can always send a follow-up to the company, showing them the improved version you’ve built. Don’t hold your breath—but who knows?
From the inside out: how can I stand out as a bootcamp grad? Raymond Gan graduated from Flatiron School in 2013, landed a job as a software engineer in New York after graduation, and has worked at several startups and tech companies as a software engineer since. He runs a study group for bootcamp grads, and here is his advice on standing out from other applicants: “The most valuable thing you can do to get jobs, besides paid software work, is to fix bugs on/add features to popular open source projects on GitHub! It's more valuable than LeetCode problems or student projects (which have NO customers). Almost ZERO junior people I've known in 6 years have made pull requests to popular open source projects and gotten them merged into a master branch! ZERO. Open source work is more practical, impressive, and directly related to our daily jobs. It has REAL CUSTOMERS! That's the work companies most want! Here is a list of beginner-friendly projects to get started on. Or you could look at popular projects with hundreds or thousands of stars, and their open issues. Take the Yarn package manager. Based on the number of stars, at least 35,000 developers use this tool. So if you get your pull request merged, it means senior JavaScript engineers think your code is good enough for 41,000 people. What impresses a company more? Open source work, LeetCode problems, or yet another student project? For inspiration on pull requests to start with, see a collection of good first issues merged for the Leaflet project. Leaflet is a library for mobile-friendly interactive maps. All of these are small bug fixes—read through them to see how small a fix can be. Continue your education through making pull requests for active projects. When you make a pull request to master, it will probably get rejected. So what? Those who reject your code will be senior engineers who are owners of these projects, and they'll often leave you comments to improve your code before they will merge it to master: "Add tests. Fix this bug here. What if this bad thing happens? What about using this algorithm?” |
Before and after: projects
Most resume advice in this book shows how to change the phrasing of your experience. This example is different. It shows what happens when you grow your experience and polish your projects while applying for jobs.
As a bootcamp grad, it’s hard to stand out with the basic bootcamp projects. However, if you invest time during your job search to improve your projects—for example, by adding tests—, contribute to open source projects, or to do a paid project on a freelancing site, this can make a large difference.
Before:

After:

What happened between these two versions? Five months, actually, while this person was job hunting and growing their skills. Here’s how the additional projects came about.
1. Contributed to popular open source projects. This person looked through the list of beginner-friendly open source projects, filtering to their strongest language, JavaScript. After finding ones that had the most beginner-friendly issues, they spent time playing with the project, reading past pull requests, and finally, making some first changes. This was a lot of back-and-forths, but lots of learnings. This open source contribution now stands out and the person is more confident in their skills.
2. Published one of their takehome challenges as a fully-fledged project. One of the takehome challenges was building an image search app that uses the Flickr API. They completed the challenge—though they did not get to the next interview stage, unfortunately. Still, this person took this project as an opportunity to turn it into a production-ready product, with more features, unit and UI tests, and integrated Flickr, Giphy, and Unsplash image sources.
They also bought a domain to run the service on to make it stand out. The domain cost $15—a good investment for the job search. They made it look and feel professional, tested it with their friends, and submitted the finished work and code to a Reddit forum for feedback.
3. Landed a paid project on a freelancing site. While job searching, this person responded to multiple projects on freelancing sites. They ended up getting a project with an insurance comparison small business. The project was difficult, and the client argued about the price. As this person's main goal was to get experience, they decided to not care about making a profit. Instead, they delivered high-quality work.
They published screenshots and code snippets of the work on their portfolio page afterward. The nice thing about paid projects is how real customers use them. Also, you don’t have to disclose how much—or how little—you got paid.
4. Turned one of their coding challenge interview learnings into a public project. This person struggled with a few of the coding challenges, especially when it came to using data structures. So they decided to practice them in public and implemented several data types, with tests, and published them with a tidy README. Not only did they learn these structures better, they now have a project to show for it!
I did exactly this on an earlier job search with SwiftAlgorithmsAndDataStructures. You can also find several other examples on implementing the most popular data structures and algorithms in a given language, for example using JavaScript and hundreds of others on GitHub.
When you’ve changed careers from another profession to software development, most of the advice for bootcamp resumes apply—assuming you have some kind of bootcamp training behind you. Regardless if you have it or not, you’ll have lots of past work experience—that will likely have little to do with software development.
Here’s advice to put a good resume together.
An example career changer resume is this one:

This resume focuses on the right details. It starts with a short summary, giving context about the previous profession of this person. As this person doesn’t have full-time working experience as a software engineer, the next section is about languages they are proficient with, and the projects they’ve built. The emphasis—and bolding—is on the technologies. This is what the recruiters will be most interested in.
After this section, there’s a brief experience of the work summary. In this case, there are no software engineering related positions, and the resume keeps it short. There’s one sentence about the position and another about some skills that could be relevant for developers. This person led a training initiative, and they mentored and coached people.
The resume closes with education. The software development related education has more details, as that’s the more relevant one. If this person had related courses or certifications, listing those here would also be a good idea. Listing non-software-related university degrees is good practice: degrees, even from different fields, are usually worth sharing.
You might have gone for many months—or years—without a full-time job, after leaving or being let go. This might be because you did not want to pursue regular employment, or because you could not find a suitable job at a time. Either way, there’s a gap on your resume. How do you present this?
While there is no “one size fits all” advice, here are a few good approaches:


Career breaks are not unique to tech, and as such, advice on how to present these are not unique, either. The article How to explain the time off during your career break on Monster UK gives some good suggestions on how to word specific situations:
You went traveling: “I fulfilled my life-long dream of traveling through South America for six months, where I improved my Spanish and gained an understanding of different cultures.”
You wanted a fresh start: “I chose to take time off work to pursue my interest in painting and had the time to decide on a new career path that really fits my personal goals.”
You were ill: “I took time off work due to a lengthy illness, but the time off allowed me to fully regain fitness for the long-term and I became involved in volunteering at a local charity shop to get me back into the swing of work.”
You were caring for someone else: “I took time off to care for my brother, who has now made a full recovery.”
For a career break where you spent time learning new skills—technologies, languages—it’s a good idea to add this similar to a work experience, with proof that you’ve mastered these skills. Work that is in production always speaks more than completing a course, or doing self-study. Aim to use the results and impact framework, to quantify why a project you completed was interesting or difficult.
Most people will create portfolio projects as an outcome of their studies. While this is not bad, it’s both very common, and building a project that’s used by only you is not a strong indication of what you can do on the job. If you want to stand out, go beyond this. Prove that you mastered a technology by shipping something in production, teaching what you learned—writing articles, mentoring others—or contributing to open source projects using the same technology.

While the above example looks fine, recruiters and hiring managers will usually value work experience above taking time to study full-time. When taking a career break to study, consider doing a freelance project on your new tech stack—even if not highly paid, or paid at all—to showcase delivering real-world work. You can then transform your experience to showcase freelancing, instead of a break.
“Freelancing” speaks to a specialist who is able to deliver in production. It’s a stronger indication of working knowledge of a technology than self study is. This experience will be valued more by people screening your resume, than if you only had self-study listed. When you freelance, you sometimes cannot name the client. In other cases, you don’t want to. If you struggle to find freelance work, you can offer to help out a friend or a small business owner for free or at a steep discount, building a feature they need that ships in production. Take this example, which is a stronger resume than the previous one:

The more experienced a software engineer you are, the more likely you will stand out based on your experience and past titles. Depending on the type of companies you are applying to, consider the following.
When you have a senior title, but not more than a few years’ work experience, some companies will focus more on the years of experience than your current title itself. If you have been promoted, make this promotion visible from your resume. Be clear about your work's results and impact to give context on the output you have delivered.
With more than 8-10 years of experience, you likely have worked with several different technologies. Your challenge will be to keep your resume relevant to the position you are applying for.
With plenty of relevant experience, you can also consider sidestepping the direct application channel. Try to find the recruiter and hiring manager on LinkedIn, and directly messaging them, inquiring about applying. For more experienced engineers, the people doing the hiring are more likely to respond. Once you have a point of contact, you can follow up on your application progress more easily.
The role of “tech lead” is often advertised as technical team lead, team lead or technical delivery lead. Unlike a senior engineer, these lead roles focus less on technical contribution, and more on delivery and team leadership duties. While an engineering manager might be responsible for several teams, a tech lead focuses on just one team. There can be a few companies that advertise this role as an engineering manager one, in cases when they mean to define a Tech Lead EM archetype as Patrick Kua describes in the 5 Engineering Manager Archetypes article.
When applying for tech lead positions, follow these pointers as guidance.
You will probably find fewer tech lead positions advertised compared to senior engineer and engineering manager ones. You might decide to apply for these positions as well. You should create a separate senior engineer and a separate engineering manager resume for these positions, highlighting your work experience relevant for each track.
When applying for engineering manager roles, it is common to expect that you’ve had an engineering manager, tech lead, or similar position with your previous jobs. Assuming you have this, the below advice can help with your resume.
Neville Kuyt, who has been leading teams for over two decades, shares his additional advice:
Get more feedback and look for other ways to do so. If you have engineering manager peers or friends, ask for their input for your resume. As an engineering manager, you can get resume feedback advice from fellow managers in the #vet-my-resume channel in Rands Leadership Slack. If you are not a member, you’ll have to join this community first. Please, read the Code of Conduct, follow it, and contribute back to this community. I suggest joining the community well before you’d need feedback on your resume and participating in other discussions.