FeaturesHow it worksPricing
Resume format

How far back should a software engineer resume go?

· 8 min read

Give the last 10 years full bullets, and fewer bullets the older the role is. Roles that ended 10 to 20 years ago usually get one line each: title, company, city, years. Anything older can usually go. Older work that the job ad asks for directly keeps its bullets, whatever its age.

If you have 15 or more years of experience, "about 10 years" does not tell you what to do with the rest. Below are the cutoffs, the exceptions, and a full before and after for a 20-year career.

The rule: full, compressed, gone

Measure each role by when it ended, not when it started. A job you left 11 years ago is 11 years old, however long you were there.

  • Ended in the last 10 years: full detail. Four or five bullets for the current role, and fewer for each one before it.
  • Ended 10 to 20 years ago: short. With four or five roles in total, two or three bullets each is fine. With more roles than that, one line each in an "Earlier experience" block at the end of your experience section.
  • Ended more than 20 years ago: usually drop it. The exceptions are in the section on very old roles below.

Our staff software engineer resume example covers 16 years with four roles, so every role keeps its bullets. They get fewer with age: five for the current role, four for the one before, and three each for the two oldest. Here are the two oldest, with two of their bullets each:

Senior Backend Engineer
Inova Digital, Monterrey, Mexico · 2012 – 2016
- Moved the legacy monolith to containerized deployments, so releases no longer needed manual server setup
- Added automated integration tests to the release pipeline, which caught the API contract breaks that used to reach production

Software Engineer
Nube360, Guadalajara, Mexico · Jul 2010 – Mar 2012
- Rewrote the slowest reporting queries so the monthly client report loaded in 6 seconds instead of 14
- Wrote team wiki pages on API versioning, database migrations, and code review
Staff Software Engineer Resume Example
Resume example

Staff Software Engineer Resume Example

Four roles over 16 years, with fewer bullets on each older role.

View the full example

If this person had seven roles in the same 16 years, we would reduce the two oldest to one line each. Our post on how long a software engineer resume should be covers the page count that decides this.

Relevance overrides age. If you are applying to a payments company and your only payments work was in 2009, that role keeps two or three bullets, and a more recent, less related role gets shorter instead.

How to write an earlier experience section

One line per role, in the same order as the rest of your experience, newest first:

Earlier experience
Software Developer, Velda Logistics, Rotterdam | 2007 – 2010
Junior Developer, Kestrel Web, Delft | 2005 – 2007

We recommend:

  • Put it inside the experience section, as its last entry. If it comes after education, a reader scanning your experience will think your career starts with the oldest role that has bullets.
  • Use years for roles longer than a year. Months add nothing on a role this old. Keep months for a role shorter than a year, because "2008 – 2008" looks like a typo.
  • Keep the real job title. Do not change "Junior Developer" to "Developer" to make the early career look more senior.
  • Add a short note only when it explains something. Put it after the city: it matters if your current work is in the same domain.
Earlier experience
Software Developer, Velda Logistics, Rotterdam (warehouse management system, Java) | 2007 – 2010
Junior Developer, Kestrel Web, Delft | 2005 – 2007

If you were promoted at one company over a long time, the company heading stays and only the old titles shrink. A company you joined in 2008 and still work at is one entry: the current title gets full bullets, and each earlier title under it gets a line with its years. Our post on showing a promotion covers that layout.

Contractors with many short contracts can use the same block. Our UK IT contractor CV guide shows an "Earlier contracts" version.

What to do with roles older than 20 years

You can drop roles from the start of your career without leaving a gap, as long as your education does not show a year long before your first listed role. Dropping a role from the middle does leave a gap, so keep middle roles as one line even when they are not relevant.

Keep a role older than 20 years when:

  • The job ad asks for it. A posting for an embedded engineer with long C experience, or a bank hiring for mainframe knowledge, wants to see that work. Give it a line or two.
  • It explains a career change. Six years as a network technician before software can be one sentence in your summary: "Moved into software in 2006 after six years as a network technician."
  • It is the reason you know the domain. Early work at a telecom or a bank can explain why you fit one now.

For anything else, we recommend dropping it. On a senior two-page resume, a 2001 role takes space from your leadership work and your largest projects.

Conventions differ by country. In Germany and some other European countries, many readers expect a complete CV with no unexplained years, so a one-line block is safer there than dropping roles. Check a few local job ads and ask a local recruiter if you can. Application forms and background checks often ask for your full employment history; give it there, even when your resume is shorter.

Legacy technologies in old roles and in the skills list

Leave old technologies in old roles. "Java EE" next to a 2014 role tells the reader what you worked on then. Our senior Java developer resume example does this under its earliest job, "Maintained and refactored Java EE components for banking clients", while its later roles are Spring Boot work.

In the skills list, we read each item as a tool you could use at work next month, and we expect most readers do the same. If you have not used a tool in about 10 years and the jobs you want do not list it, remove it from the list, even if it still appears inside an old role.

Before:
Skills: Java, Kotlin, Go, J2EE, Struts, Perl, CVS, Ant, Oracle Forms, Swing, PostgreSQL, Kafka, Kubernetes

After:
Languages: Kotlin, Java, Go
Platform: Kafka, PostgreSQL, Kubernetes

Keep an old technology that the jobs you want still ask for, such as COBOL or IBM MQ at a bank. List it in the skills section and under the role where you used it. Our post on legacy tech stacks covers how to write that work.

Graduation dates and age signals

Removing the year from your degree is a common choice after about 15 years of work, and we think it is reasonable. The degree, university and subject stay.

Before:
BSc Computer Science, Delft University of Technology | 2001 – 2005

After:
BSc Computer Science, Delft University of Technology

Do it only together with the experience section. If you cut your experience to start in 2012 but leave "2001 – 2005" under education, the reader can still work out your age, and now sees seven unexplained years. If your experience goes back to your first job, keep the year. If an application form asks for the year, give it.

The summary can show your age as clearly as a date. "25+ years of experience" says more about you than about the job. Write what you do instead: "Principal engineer on payment systems and technical lead for a platform group of 30 engineers."

Age discrimination in hiring is illegal in many places. In the US, the EEOC enforces a law that protects people aged 40 or older, and in the UK, age is a protected characteristic. It still happens, and we do not know how often. If you think it has happened to you, those pages tell you where to go.

Before and after: a 20-year career

A principal engineer who started in 2005 and is applying to payments companies. Before, every role is listed in full, so the oldest job gets almost as much space as the current one:

Before:
Principal Engineer, Northlake Payments, Amsterdam | Mar 2019 – Present
- (five bullets)
Senior Software Engineer, Corvane Systems, Utrecht | Jan 2014 – Feb 2019
- (five bullets)
Software Engineer, Brightmoor Telecom, Rotterdam | Sep 2010 – Dec 2013
- Developed billing modules in Java and J2EE
- Wrote unit tests with JUnit
- Took part in code reviews
- Supported production releases
Software Developer, Velda Logistics, Rotterdam | Mar 2007 – Aug 2010
- Built order tracking screens in Java Swing and Oracle Forms
- Maintained Perl scripts for nightly data imports
- Fixed bugs reported by the warehouse team
Junior Developer, Kestrel Web, Delft | Sep 2005 – Feb 2007
- Built websites for local businesses in PHP and MySQL
- Updated client content on request
BSc Computer Science, Delft University of Technology | 2001 – 2005

After, with every employer and date range kept:

After:
Principal Engineer, Northlake Payments, Amsterdam | Mar 2019 – Present
- (five bullets)
Senior Software Engineer, Corvane Systems, Utrecht | Jan 2014 – Feb 2019
- Built the Kotlin settlement service that reconciled 2M card transactions a night
- Moved the build from Ant to Gradle and Jenkins pipelines; a release went from half a day to 40 minutes
- On-call for settlement, one week a month
Software Engineer, Brightmoor Telecom, Rotterdam | Sep 2010 – Dec 2013
- Wrote the prepaid billing module in Java EE, which handled top-ups for about 1.5M customers
Earlier experience
Software Developer, Velda Logistics, Rotterdam | 2007 – 2010
Junior Developer, Kestrel Web, Delft | 2005 – 2007
BSc Computer Science, Delft University of Technology | 2001 – 2005

Corvane ended seven years ago, so it keeps three bullets, down from five. Brightmoor ended almost 13 years ago, but it keeps one bullet because billing at telecom scale supports a payments application. Its four duty bullets became one bullet about the system. Velda and Kestrel are older and less related, so each is one line. The three oldest roles went from 12 lines to 5.

The degree keeps its year. The history goes back to 2005 anyway, so removing it would hide nothing.

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.

Create your resumeBrowse resume examples

Frequently asked questions

Should I include jobs from 15 years ago?

Usually yes, as one line. Give it bullets only when it is related to the job you want, or when you have so few roles that the resume would look thin without it. A job from 15 years ago that was your first one can also be dropped, as long as your education date does not then leave a gap.

What if the job ad asks for 15+ years of experience?

Make the visible history match the number. Keep the Earlier experience block, so the reader can count back to the start of your career, and keep the degree year if it helps. You can also state the figure in your summary, but only if the dates on the page add up to it.

Should I remove my graduation date?

You can, once you have about 15 years of experience. Remove it only if your experience section also starts later than your first job, or the gap is easy to see. Your LinkedIn profile and application forms can still show the full dates; a resume is allowed to be shorter than both.

Do old roles need dates?

Yes. A role without dates makes the reader wonder what is being hidden. For roles more than 10 years old, years are enough, so "2007 – 2010" is fine. Months matter for recent roles, where a reader checks gaps and how long you stayed.

What is an earlier-career section?

It is a block of one-line entries for your oldest roles. Some resumes call it "Earlier experience" or "Earlier career"; the name matters less than where it sits. Put it at the end of your experience section, not after education or skills, so the reader sees your career as one timeline.

Resume examples

Senior Java Developer Resume Example
Senior

Java Developer

Senior Java Developer Resume Example

Keep reading

How to write a UK IT contractor CV as a software developer

Lay out a UK contractor CV as a software developer. Learn how to list clients and your limited company, show renewals, group short contracts, and adapt it for permanent roles.

Keep reading

Structured resumes for software engineers.

Product
  • Features
  • Pricing
  • How it works
  • Templates
  • Examples
  • Blog
© 2026 FilizFiliz is a product of Grycode Ltd (Company No. 12264904), registered in England & Wales.Registered office: Office 408 Screenworks, 22 Highbury Grove, London N5 2ER, United Kingdom.