How to list work experience on your resume (with examples)
What a resume parser reads in your experience section, tested on real code. Entry format, achievement bullets, promotions, short stints, how far back to go, with BLS tenure data.
The experience section is the part of your resume that gets read twice. Software reads it first, to find your job titles and date ranges and decide whether you have the years the posting asks for. A recruiter reads it second, and mostly reads the bullets.
Most guides only cover the second reader. We wrote the parsing code behind HiredFolio's resume import and ATS checker, so this guide starts with what the first reader needs, tested on that code with the inputs published so you can rerun them. Then it covers the parts people actually get stuck on: how far back to go, how to show a promotion, what to do with five jobs in four years, and how to pick what is relevant.
What software reads first: the heading and the dates
A parser does not read your resume. It looks for a section heading it knows, then counts the date ranges under it. If the heading is unfamiliar or the dates are written in a shape it does not expect, your experience is still on the page, but the software does not know it is there.
We tested this on the heuristics that power HiredFolio's resume import, which recognizes sections and counts entries from extracted PDF text without any AI. We fed it the same two-job resume with twelve different section headings. Six were recognized and six were not.
Section headings what our import recognized, same resume, same dates
Not recognized
Relevant Experience
Professional Background
Career
Where I've worked
Experience & achievements
Recognized
Experience
Work Experience
Professional Experience
Employment History
Work History, Career History
"Relevant Experience" is recommended by two of the seven ranking guides we read. On our parser it is an unknown heading. Add the word to the entries, not to the heading.
Then we kept the heading at "Experience" and varied the dates. The parser counts an entry when a line carries two four-digit years, or one year plus a word it knows for an open-ended role.
- "Jan 2021 - Present", "01/2021 - present" and "2021 - Present": both jobs counted.
- "2021 - 23", the shorthand that saves four characters: zero jobs counted.
- "Since 2021" and "2021 - today": the current job was not counted. "Present", "current" and "ongoing" were.
- "3 years" instead of dates: nothing counted.
This is our code, so we can only speak for it. Every parser is different, and a big ATS recognizes more variants than a no-AI preview does. The lesson transfers anyway, because every one of them is doing the same thing: matching a known heading, then a date pattern. Give it the heading it expects and two full years per job, and the first reader is satisfied before the second one starts.
What goes in each entry
Seven guides, one answer, so this part is short. Every job gets the same five pieces, in the same order, in the same format all the way down the page.
One entry and what each line is for
Customer Success Manager, Northwind Software (B2B SaaS, 120 staff)
The title the company would confirm. A short descriptor if the company is not well known.
Denver, CO (remote) · Mar 2022 - Present
Month and year, both ends, written the same way for every job.
- Managed a portfolio of 45 mid-market accounts worth $2.1M ARR; renewed 94% in 2025 against a team average of 87%.
- Built the onboarding playbook now used by all 6 CSMs, cutting time-to-first-value from 31 to 18 days.
- Ran quarterly reviews with 12 executive sponsors; 9 accounts expanded, adding $340K.
Three to five bullets for your current and previous role, two or three for older ones. Present tense for the job you hold, past tense for the rest. No "I".
Write the title the way the company would confirm it on a reference call. If your official title is odd ("Happiness Engineer"), put the market equivalent next to it in parentheses so a keyword search finds it. Do not promote yourself on paper. A title is one of the few things on a resume that a background check verifies word for word.
Achievements, not duties
The recruiter already knows what a customer success manager does. The bullet that says "Managed client relationships and ensured customer satisfaction" tells them nothing they did not have before opening the file. The bullet that says what changed because you were there does.
Example one bullet rewritten
A duty
Responsible for managing the company's social media accounts and creating content.
A result
Grew the LinkedIn page from 3,200 to 14,800 followers in 14 months with 3 posts a week; 2 campaigns brought in 61 inbound demo requests.
The pattern is a verb, the thing you did, and a number that shows the size of it. Numbers you can use when you do not have revenue figures: how many people, how many clients, how often, how long it took before and after, what share of the team's total. If you only have a rough figure, write "about 200" or "roughly 15%" rather than inventing a precise one.
One honest duty bullet per job is fine. It gives the scale of the role (team of 8, budget of $400K, 3 markets). Four duty bullets is a job description, and the reader already has one of those.
Relevant experience: what to keep and how to show it
"Relevant" is not a feeling. For the software it is measurable, and for the recruiter it is a question of what they see in the first two entries.
HiredFolio's ATS checker scores a resume against a job on four parts, and we publish the weights because they are the clearest definition of relevance we can give you: keyword match 40%, required skills 20%, formatting 15%, experience fit 25%. The first two are computed by exact matching of the posting's vocabulary against your text. The experience part is judged by a model whose instructions ask three questions: does the seniority match, is the industry and domain experience relevant, and do role progression and titles support the target role.
So relevance has two levers you control from inside the experience section:
- The words in your bullets. The matcher looks for the posting's terms. It knows some equivalents (it counts "project manager" and "chef de projet" as the same keyword, for instance), but it does not guess that "handled vendor relationships" means "procurement". If the posting says procurement, your bullet says procurement. Our guide to resume keywords by job counts which terms real postings use.
- Which bullets come first. Within a job, order bullets by relevance to the posting, not by how proud you are of them. The recruiter reads the first bullet of each job and skims the rest.
For roles that are not relevant, you have three options, in order of preference. Keep the entry and cut it to one or two bullets that show a transferable skill. Move it to a short "Earlier experience" or "Additional experience" block of one-liners with title, employer and years. Or leave it off, as long as leaving it off does not open a gap that needs explaining more than the job did.
If nothing you have done looks relevant, the problem is usually the framing rather than the history. Our guides to a career change resume and a resume with no experience cover those two cases in detail.
How far back should your resume go?
Every guide says ten to fifteen years. Few explain why, and the Bureau of Labor Statistics data shows the rule means very different things at 30 and at 58.
4.1 years
3.0 years at ages 25-34, 9.6 years at 55-64
median time wage and salary workers had been with their current employer in January 2026.
Source: Bureau of Labor Statistics, Employee Tenure Summary, released September 24, 2026
For a worker in their late fifties, median tenure is 9.6 years. The last fifteen years are often one or two employers, so "fifteen years" and "your last two jobs" are the same rule. For a 30-year-old with median tenure of 3.0 years, fifteen years is their whole career, and the question does not arise.
So think in roles, not years. Detail your last three to five roles. Anything older that still matters for this posting (the one time you did exactly this job, a well-known employer) gets a one-line entry with title, employer and years. Anything older that does not matter can go, and nobody will ask where your 2004 job went.
Two things to keep straight when you trim:
- Do not cut a job in the middle of your timeline. Removing a 2017-2019 role to save space creates a two-year gap that gets more attention than the job did. Trim from the oldest end.
- Degrees can lose their dates once you have ten years of experience. The degree stays; the year is optional.
On our own checker, none of the exact checks reads dates at all, and the experience-fit instructions do not mention age or career length. We say that because people ask whether an ATS "sees" how old they are. Ours does not, and a filter on years of experience, where an employer has one, is a rule they switched on, as we explain in our guide to how ATS filters actually work.
How to show a promotion or several roles at one employer
A promotion is proof that someone who saw your work decided to give you more of it. It should be visible from across the room, and it usually is not, because people write one entry with the final title and lose the progression.
Stack the titles under one employer line when the roles were a progression in the same function. Each title keeps its own dates and its own bullets, with the most recent on top.
A stacked entry one employer, two titles, two date ranges
Harbor Logistics, Savannah, GA · Jun 2019 - Present
Operations Manager · Apr 2023 - Present
- Promoted to run the 3-shift warehouse team of 42 after leading the Sunday shift for two years.
- Cut order picking errors from 2.4% to 0.9% by introducing barcode checks at the packing bench.
Shift Supervisor · Jun 2019 - Mar 2023
- Led a shift of 14; shift met its daily target 96% of the time in 2022, best of the three.
List the roles as separate entries, each with the employer repeated, when they were really different jobs (an analyst who became a salesperson at the same company) or when a parser matters more than page space. A separate entry is the shape every parser understands; a stacked one depends on the parser recognizing a title line without an employer next to it. If you are applying through an online form that asks you to paste or upload, separate entries are the safer bet. On a PDF a human will read first, stack them.
The reason it matters for the software too: the experience-fit part of our checker is asked, in so many words, whether "role progression and titles support the target role". A model can only see a progression if each title is on the page as its own line with its own dates. One entry under the final title shows no progression at all.
Lateral moves (new title, same level) get the same treatment as a promotion. Say in the first bullet what changed, so the reader does not have to guess whether it was a step up. A company restructuring that changed your title without changing your job is one entry with both titles: "Marketing Manager (title changed from Marketing Lead in 2024)".
Job hopping: what the numbers say, and how to write it up
If you have four jobs in five years and are worried about how it reads, start with how common it is.
The Bureau of Labor Statistics has followed the same group of Americans born between 1957 and 1964 since 1979. By age 58 they had held an average of 12.9 jobs. Over 40% of those jobs came between 18 and 24, an average of 5.6 jobs in those seven years. Between 45 and 54 the same people held 2.2 jobs. For workers aged 25 to 34 today, median tenure with the current employer is 3.0 years.
So short stints in your twenties are what the median career looks like. The question a recruiter has is not "why did you move" but "will you leave in a year". Your experience section can answer it.
- Keep every job as its own entry with its own dates. Merging three short jobs into one "Various roles, 2021-2024" line hides the titles, and the titles are what the software matches.
- Give each a reason when there is a clean one, in half a line at the end of the title: "(fixed-term contract)", "(company acquired, role eliminated)", "(seasonal)". A contract that ended on its planned date is not a departure.
- Show what you kept. If the four jobs were all in the same function, the bullets should show the same skill getting deeper. If they were in four functions, say what you were looking for and that you found it, and let the last job carry the most bullets.
- Do not delete short jobs to clean up the timeline if the deletion opens a gap of more than six months. A gap costs more than a short job, and we have the callback data on that in our guide to employment gaps on a resume.
For contract and freelance work, one entry per client is too many once you pass three. Group them under one heading ("Independent consultant, 2022 - Present") with the clients and the biggest result for each as bullets. The heading carries the date range the parser needs, and the bullets carry the names the recruiter wants.
Gaps, firings, and the jobs you leave off
Three questions come up on every forum thread about this section, and the answers are shorter than the threads.
Can you leave a job off? Yes. A resume is a selection, not a sworn record, and nobody owes a recruiter a line for a two-month job in 2011. The limit is that what you do write has to be true. The dates of the jobs you keep cannot stretch to cover the one you dropped, because that is the lie a reference call finds.
Do you list a job you were fired from? If it was recent or long, yes, with its dates, written like every other entry. The resume does not say why you left any job, and this one is no exception. Leaving out a two-year job to hide the ending creates a two-year gap, which asks the same question louder.
How do you handle a gap? Under six months, usually nothing. Over six months, one line in the timeline with the dates and a plain reason. We wrote a full guide to explaining gaps in employment, with the two field experiments that measured what a gap costs and how the stated reason changes callbacks.
Checking your experience section against a real posting
Everything above comes down to two tests. Does a parser find your jobs, titles and dates? And do your bullets contain the words this posting is looking for?
You can run the second test for free. HiredFolio's ATS checker takes your resume and a job description, lists the posting's keywords it found in your text and the ones it did not, and scores the fit with the weights given earlier in this guide. The missing-keyword list is the fastest edit you can make to an experience section: find the job where you actually did that thing and say so in the posting's words.
Key takeaways before your next application
Head the section "Experience" or "Work Experience", and write two full years on every job, with "Present" for the current one.
Give every title its own line and its own dates, promotions included; detail the last three to five roles and shorten the rest to one line.
Rewrite the first bullet of each job as a result with a number, in the posting's own words.
Then see which of the posting's keywords your bullets still miss: run your resume against the job.
Read next
- Resume tips for older workers: what the callback data says, and what an ATS actually reads
The field experiment behind 'drop your graduation year', what an ATS does with your dates (we tested ours), what the EEOC really says about age questions, and how to write the last 15 years.
- How to list education on your resume: 10 examples, and what a keyword matcher reads in each line
School, degree, date, honors: the format for every case (unfinished degree, GPA, Dean's List, cum laude, double major, GED, study abroad), plus 15 degree lines run through a real keyword matcher.
- Resume action verbs: 285 verbs, ranked by what 280 job postings actually say
285 resume action verbs sorted by the kind of work, with how often 280 real job postings open a bullet with each one. Plus tense, buzzwords, synonyms, and what an ATS does with your verbs.