This template is laid out for backend, frontend and full-stack engineers. It uses a single column with plain section headings, so applicant tracking systems read it the same way a person does. The sample belongs to a senior backend engineer with nine years of experience at three companies, but the structure works at any level. Replace the content with your own and remove the sections you don't need.
Template at a glance
| Setting | This template |
|---|---|
| Layout | ATS Friendly, single column |
| Length | One page, two for 10+ years |
| Best for | Backend, frontend, full-stack, platform and mobile engineers |
| Section order | Summary, experience, skills, projects, education, certificates, languages |
| Also works in | Compact (more content on one page), Two Column (when skills are long) |
What hiring managers look for
Most engineering managers skim a resume looking for three things: what you built, how big or hard it was, and what changed because of it. The tools you used matter, but mostly as context for that work.
Put your strongest, most recent work at the top of each job. If you led something, say so. If you were on call for it, mention it. Ownership is one of the clearest signals of seniority, and it is easy to leave out.
A recruiter often reads the resume before an engineer does. Recruiters match words in your resume against the job post, so name the languages, frameworks and platforms you used plainly. An engineer reading later will look for depth: scale, trade-offs and results.
How to write each section
Header and contact details
Your name, the job title you are aiming for, city and country, email, phone and one or two links. A GitHub or portfolio link is worth adding if it shows real work. LinkedIn is expected by many recruiters. You don't need a full street address.
Use the job title you want, as long as it is honest. If you are a "Developer II" at a company that nobody outside knows, "Software Engineer" is clearer.
Summary
Two or three sentences: your level, your main stack, the kind of systems you build and one thing you care about. Write it in plain words. These examples show the pattern at different levels:
Junior: Software engineer with one year of experience building internal tools in Python and React. Comfortable with SQL, testing and code review, and looking for a team where I can work on customer-facing products.
Mid-level: Full-stack engineer with four years in TypeScript, Node.js and React. I have shipped billing and onboarding features end to end, and I enjoy turning vague product ideas into small, testable releases.
Senior: Backend engineer with seven years of experience building payment and order systems in Go and TypeScript. I like owning a service from design review to on-call, and I care about clear APIs, boring deployments and code the next person can read.
Experience
List jobs in reverse order, newest first. For each one give the company, your title, the city and the dates by month and year. Then three to five bullets for recent roles and one to three for older ones. If the company is small or unknown, add a short line that says what it does: "Logistics software for regional carriers, 60 employees."
Skills
Group skills into a few labeled lines instead of one long list. The sample uses languages, backend, infrastructure and practices. Put the skills you use most first in each group.
Projects
A project earns its place if it shows something your job doesn't, or if people use it. Give it one line that says what it does, the stack and, when you have it, a sign of use like stars, downloads or users. Link to the code or the live site.
Education
Degree, university, years. Once you have two or more years of work, education moves below experience and needs no detail. Bootcamps and online programs belong here too. If you don't have a degree, leave the section short or drop it; your experience and projects carry the resume.
Certifications
Cloud certifications (AWS, Google Cloud, Azure) and Kubernetes certifications are the ones engineering teams mention most often in job posts. List the full name, the issuer and the year. Leave off course completion badges unless the job asks for them.
Writing experience bullets
Start each bullet with a verb, describe the work in plain words and finish with the result. Numbers help when you have them: latency, error rates, deploy frequency, users, cost. If you don't have a number, describe the change in concrete terms, like "customers saw status updates in minutes instead of the next morning."
A simple pattern that works: what you did + how + what changed.
- Weak: "Worked on the search feature."
- Better: "Rebuilt product search on Elasticsearch, which cut median search time from 1.2 s to 200 ms and raised clicks on results."
Examples by level
Junior engineer
- Built the CSV export endpoint for invoices, used by about 3,000 customers a month
- Fixed a race condition in the cart service that caused occasional empty orders
- Wrote integration tests for the login flow and caught two regressions before release
- Added form validation and error messages to the signup page, which cut support tickets about failed signups
Mid-level engineer
- Moved image processing to a background queue and cut upload time from 8 seconds to under 1
- Added tracing to the order pipeline, which made the slowest step obvious to the whole team
- Owned the migration from MySQL 5.7 to 8.0 with a written rollback plan
- Paired with product and design on the new onboarding flow and shipped it in four weekly releases
Senior engineer
- Led the split of a monolith into four services with no customer-facing downtime
- Set up the design review process for the payments team and mentored three engineers
- Designed the idempotency layer for card payments, which ended duplicate charges
- Wrote the incident review process and ran reviews for the eight most serious outages of the year
Examples by specialty
Frontend
- Rebuilt the dashboard in React with server-side rendering and cut first contentful paint in half
- Created a shared component library used by four product teams
- Fixed accessibility issues found in an audit, including keyboard navigation and screen reader labels
Backend
- Designed a REST API for partner integrations, now used by 40 external companies
- Replaced nightly batch jobs with an event queue so data updates in minutes
- Reduced database load by 35% with query fixes and a read replica for reporting
Data and machine learning
- Built the feature pipeline for the fraud model in Python and Spark, running hourly on 50M events
- Cut model training time from six hours to forty minutes by caching intermediate datasets
- Set up monitoring that alerts when model inputs drift from training data
DevOps and platform
- Moved CI from Jenkins to GitHub Actions and cut average build time from 25 to 9 minutes
- Wrote Terraform modules for the company's standard service setup, used by every new service
- Introduced on-call runbooks and brought mean time to recovery down noticeably over two quarters
Mobile
- Shipped offline mode for the iOS app, the most requested feature in app store reviews
- Reduced crash rate on Android from 1.8% to 0.3% of sessions by fixing the top ten crashes
- Moved the app to a shared Kotlin Multiplatform module for networking and storage
Skills and keywords
Recruiters and tracking systems often search for exact terms, so use the names people write in job posts, for example "PostgreSQL" rather than "Postgres", and "Kubernetes" rather than "k8s". Only include what you have actually used at work or in a real project.
| Category | Common examples |
|---|---|
| Languages | Python, Java, JavaScript, TypeScript, Go, C#, Kotlin, Swift, Rust, SQL |
| Frontend | React, Vue, Angular, Next.js, HTML, CSS, accessibility |
| Backend | Node.js, Spring, Django, .NET, REST, GraphQL, gRPC |
| Data | PostgreSQL, MySQL, MongoDB, Redis, Kafka, Elasticsearch, Spark |
| Cloud and infrastructure | AWS, Google Cloud, Azure, Docker, Kubernetes, Terraform |
| Delivery | CI/CD, GitHub Actions, testing, code review, observability |
| Practices | System design, API design, incident response, mentoring |
Soft skills like communication and teamwork matter a lot in engineering, but a line that says "great communicator" doesn't prove anything. Show them in bullets instead: running design reviews, mentoring, writing documentation or working with product and design.
Tailoring your resume to a job post
Sending the same resume everywhere works less well than a quick edit for each application. It takes ten minutes:
- Read the job post and mark the languages, tools and responsibilities it repeats.
- Check that the ones you really have appear in your skills and in at least one bullet.
- Move your most relevant job bullets to the top of each role.
- Adjust the summary so the first sentence matches the role, for example "backend engineer" for a backend job.
- Remove projects that have nothing to do with the role, if you need the space.
Use the same words as the post when they are true for you. If the post says "distributed systems" and you have built them, say "distributed systems", not only "microservices".
Formatting and length
Keep it to one page unless you have ten or more years of relevant experience. Use one font, a size between 10 and 12 points and consistent dates. Avoid tables, text boxes and images for important information, since some tracking systems skip them. This template avoids all of that by design.
Save and send the resume as a PDF unless the employer asks for Word. Name the file clearly, for example "Daniel-Okafor-Software-Engineer.pdf".
Why the sections are in this order
The template puts experience first, then skills, then projects, then education. After a year or two of work, what you have shipped tells an employer more than your degree. If you are a recent graduate, move education and projects up and keep experience short. The student template is set up that way.
Certificates sit near the bottom. They help when a role asks for one, such as an AWS certification for a cloud-heavy team, but they rarely decide an interview on their own.
Mistakes to avoid
- Listing duties instead of results, for example "responsible for backend services"
- A skills section with thirty items and no sense of what you know well
- Internal project names that mean nothing outside your company
- Dense paragraphs. Short bullets are easier to scan
- Claiming a technology you used once in a tutorial
- Different date formats in different jobs
- Typos in technology names, like "Javascript" or "Github", which reviewers do notice
- A photo, age or marital status for jobs in the US, the UK or Canada, where these are usually left off
Checklist before you send it
- Your title and summary match the role you are applying for
- Every recent job has at least one bullet with a result
- The skills from the job post that you have appear on the page
- Links work and point to work you are happy for someone to see
- Dates, spelling and technology names are consistent
- The file is a PDF with your name in the file name