How long should a software engineer resume be?
· 10 min readA software engineer resume should be one page for junior and mid-level engineers, one or two pages for senior engineers, and two pages for staff engineers and most leads. In the UK and Ireland, two pages is normal from mid level upward. The length to avoid everywhere is one page plus a few lines.
This is our view from building a resume tool and reading many engineering resumes. Most of the post is about what to cut, and in what order.
How long should it be at each level?
These are defaults for the US, where the one-page habit is strongest. Count years of paid engineering work. Internships and a PhD belong on the resume, but they do not move you to the next row.
- Junior (0 to 2 years): one page. Our junior software engineer resume example shows the usual content: one internship, two projects with their stacks, skills and a degree.
- Mid level (3 to 7 years): one page. You probably have two or three roles, and they fit if only the latest one gets four or five bullets. If they do not fit, the cause is usually old detail, not too much experience.
- Senior (8 years or more): one page or two. Choose two when the second page holds work that supports the job you are applying for, such as a second system you owned or a migration you led. Choose one when page two would only hold older versions of the same work.
- Staff and principal: two pages. Work at this level crosses teams and needs a sentence of context before the result makes sense. One page usually removes that context.
- Tech lead and engineering manager: usually two pages. You have to show the people work (team size, hiring, planning) and the technical work, and each needs room. A lead with five years of experience can still fit on one.
The years are defaults. The real test is whether a person deciding to interview you would miss each line on the last page.
Does the country change the answer?
Yes. The document is a resume in the US and Canada and a CV in the UK, Ireland and most of Europe, and the conventions are different.
US and Canada. One page is the default below senior level, and two pages is ordinary for senior, staff and lead engineers. Canadian employers are often more relaxed about two pages earlier in a career.
UK and Ireland. Two pages is the usual length for anyone with a few years of experience. A graduate can use one page. Three pages for a permanent role is too long here as well. If you are mid level and applying in the UK, use two pages when you can fill most of the second, and one page when you cannot.
The rest of Europe. Conventions vary by country, and we do not know all of them well enough to give one rule. Two pages is a safe upper limit. Look at what local job ads ask for, or ask the recruiter. If you live in Europe and apply to a US company, follow the US defaults.
Contractors. A contractor's CV is the main exception to the two-page limit. Ten years of short contracts can mean fifteen or twenty clients, and the reader wants to see the recent ones in detail. Contractor CVs in the UK often run to three pages or more. Keep the last five or six years in full and reduce everything older to one line per contract:
Contract Backend Engineer, Kestrel Payments, London | Feb 2025 – Present
- Rebuilt the payment-status service in Kotlin and Spring Boot ahead of the ISO 20022 cutover, with no planned downtime
- Wrote the contract tests that three downstream teams now run in their own pipelines
(contracts from 2018 to 2024, each in full)
Earlier contracts
Contract Java Developer, Tamar Logistics, Bristol | Jun 2017 – Dec 2017
Contract Java Developer, Fenwater Insurance, Leeds | Nov 2016 – May 2017
If an agency asks for a specific length or its own format, follow the agency. It knows what its client expects.
One detail for people who apply across markets: the US and Canada use Letter paper and almost every other country uses A4, which is taller and narrower. A resume that fills one A4 page exactly can run a few lines onto a second page when it is set to Letter. Most resumes are read on screen, but the page break still moves. Check the page count after you switch.
What should you cut first?
Cut in this order. The early steps cost you the least.
1. Old stacks in the skills section. A skills section tends to grow and never shrink. Remove what you would not want to be interviewed on, what any engineer is assumed to know, and what you last used many years ago.
Before:
Languages: Java, Kotlin, Python, JavaScript, PHP, Perl, C, C++, Visual Basic
Tools: Git, SVN, Jenkins, Ant, Maven, Gradle, Docker, Kubernetes, Terraform, Jira, Eclipse, IntelliJ
Databases: PostgreSQL, MySQL, Oracle, MS Access
After:
Languages: Kotlin, Java, Python
Platform: Kubernetes, Docker, Terraform, PostgreSQL
Nothing was added. The second version is a line shorter and names only the current stack.
2. Bullets that repeat a duty. If you built REST APIs in three jobs, the reader needs to see it once, under the role where the work was largest. Under the other roles, keep only what was different about that job.
Before:
Backend Engineer, Harrowgate Software, Manchester | Jun 2018 – Feb 2020
- Developed REST APIs in Java and Spring Boot
- Wrote unit and integration tests
- Participated in code reviews and agile ceremonies
- Built the tax-calculation service used by the invoicing product in 11 countries
- Moved the nightly invoice export from cron scripts to a Kafka consumer
After:
Backend Engineer, Harrowgate Software, Manchester | Jun 2018 – Feb 2020
- Built the tax-calculation service in Java and Spring Boot, used by the invoicing product in 11 countries
- Moved the nightly invoice export from cron scripts to a Kafka consumer
The three bullets that were removed describe what the job title already implies.
3. Early roles. Detail should fall as roles get older: four or five bullets for the current role, two or three for the one before, and one line for anything more than about ten years old. Our lead backend engineer resume example gives its current tech lead role five bullets and its first job, in 2014, three. If that resume needed space, the 2014 job is where we would take it.
You can group the oldest roles under one heading. Years without months are enough for roles this old:
Earlier experience
Software Developer, Pennine Data, Leeds | 2011 – 2013
Junior Developer, Calder Web Studio, Leeds | 2009 – 2011
Keep the titles, companies and years. Removing a role completely leaves a gap that someone will ask about, and one line costs very little space.
A long time at one company is a different problem. Eight years and three titles under one employer should be stacked under a single company heading, with the detail on the latest title. We cover that layout in how to show a promotion on a software engineer resume.
4. The projects section. Projects are evidence for people who do not yet have much paid work to show. After about three years of employment, the section competes with your jobs for space. Remove it, with two exceptions: an open-source project with real users, or a project that proves a skill your jobs do not show, such as Rust when your whole career has been Java. In those cases, one or two lines are enough. A GitHub link in the header is enough for the rest.
5. Small items that add up. A "Soft skills" list, online course certificates once you have a job in the field, every tracker and chat tool you have used, a summary longer than three lines, "References available on request". Each is one or two lines, and together they are often the quarter page you need.
If the resume is still too long after all five steps, you have a real two-page resume. Stop cutting.
What must be on page one of a two-page resume?
Write page one as if page two might not be read. Some readers stop at the end of the first page, and those who continue have already formed a view. Form fields filled by a parser do not have pages, but the person who opens your PDF sees them.
Page one needs:
- Your name, contact details, and links to GitHub or LinkedIn.
- A summary of two or three lines that names your level, domain and stack, such as "Senior backend engineer, payments, Kotlin and AWS".
- Your current role in full, with the largest piece of work first.
- The start of the previous role. Let the page break fall between two roles, not in the middle of a list of bullets.
- A short skills section, if the roles above do not already name your stack.
Page two holds earlier roles, education, certifications, and talks or publications. Education belongs on page one only when you graduated recently or when the degree is your strongest qualification for the job.
For a lead or manager, both kinds of work must appear before the break. In our engineering manager resume example, the current role has bullets about retention and a career framework next to bullets about delivery. The staff software engineer resume example puts cross-team work in its summary and in its current role.
Why is a page and a quarter the worst length?
A resume that runs a few lines onto a second page shows the reader a mostly empty page. It also shows your weakest content alone on that page, because whatever is last in the document is what moves: usually skills, education, or the final bullets of your oldest job.
It can also suggest that nobody edited the document, and engineers are expected to edit what they write.
Pick one or two. Cut back to one page, or use two with a second page that is at least half full of material you would defend in an interview. This is the last part of a mid-level frontend resume that ran onto a second page:
Before, with everything from "Projects" down on page two:
Software Engineer, Tallyfield, Bristol | Aug 2021 – May 2023
- Developed features for the merchant dashboard in React and TypeScript, including the dispute-evidence upload flow
- Fixed bugs and improved test coverage
- Worked with designers and product managers in an agile team
- Migrated the dashboard build from Webpack to Vite, which cut local start time from about 40 seconds to 3
Projects
Recipe Finder: React app using a public recipe API
Portfolio site: built with Gatsby and hosted on Netlify
Skills
Languages: JavaScript, TypeScript, HTML, CSS, Python, PHP
Frameworks: React, Redux, Next.js, jQuery, Bootstrap
Tools: Git, Webpack, Vite, Jest, Cypress, Jira, Figma
After, all on page one:
Software Engineer, Tallyfield, Bristol | Aug 2021 – May 2023
- Migrated the merchant dashboard build from Webpack to Vite, which cut local start time from about 40 seconds to 3
- Built the dispute-evidence upload flow in React and TypeScript
Skills
TypeScript, React, Next.js, Jest, Cypress, Vite
Little that an interviewer would ask about was removed. The duty bullets and the projects are gone, the feature that was hidden inside "developed features" has its own bullet, and the skills section is one line.
What should you not do to make it fit?
Do not solve a content problem with layout. Text below about 10 points and margins below about half an inch (1.3 cm) make the page harder to read, and the reader can see that the page was squeezed.
A second column of narrow text has a different risk. Software that extracts text from a PDF does not always follow the visual order, so two columns can come out mixed together. A single column with standard headings is the safe choice.
Do not remove dates, locations or job titles to save a line. Those are the first things a reader checks. Cut a bullet instead.
Do not add content to reach two pages either. If the second page is short, use more line spacing before you add a bullet you would not want to discuss. If you write versions for different jobs, keep one long master document and cut a copy down for each application.
Put it into practice
Build your resume in Filiz and watch the PDF update as you edit. Start from scratch, import your current resume, or begin with an example. No sign-up needed to try it.
Frequently asked questions
Is a two-page resume OK for a senior engineer?
Yes. Two pages is an ordinary length for a senior engineer in the US and the usual length in the UK and Ireland. The condition is that page two holds real work, such as an earlier system you owned, and not small sections that were moved there to fill space.
Do recruiters read the second page?
Some do and some do not, and you cannot know which reader you will get. A recruiter mostly checks level, stack and recent employers, all of which belong on page one. The engineer who interviews you later is more likely to read everything and ask about a project on page two.
Should a developer with 10 years of experience keep to one page?
Only if the page still reads comfortably. After ten years, one page usually means either very small text or no context around your largest projects. Two pages are better than one crowded page. A single page works when your last two roles show everything the job asks for and the earlier ones can each be one line.
Does an ATS care about resume length?
Length does not affect whether software can read the text of your resume. What matters for parsing is that the file contains real text, uses standard section headings, and has a simple reading order. A person reads the result afterward, and length matters to that person.
Can a software engineer resume be three pages?
Not for a permanent industry role. Contractor CVs are one exception. Research CVs that list publications are another, and they follow their own conventions. For everything else, a third page means the older roles have too much detail.