How to build a resume that actually gets you hired in 2026

A resume and portfolio, made for each company: a fanned stack of resumes tailored per role.
One resume is a starting point, not the deliverable. Every serious application gets its own.

Start with the goal, because almost nobody does.

Your resume has two jobs:

  1. Pass the ATS
  2. Get in front of a hiring manager

That's it. That's the whole thing.

It's not your life story. It's not a personality test. It's a document that has to survive a keyword filter and then survive about seven seconds of a tired human's attention. Everything in this post is in service of those two things.

I've manually reviewed over 100,000 resumes. Not skimmed. Not run through software. Actually read them. I've hired people out of Google, Meta, and companies at that level. I also run Yara, an AI copilot for your job search that handles most of this for you.

So here's what I actually see all day.

Resumes are table stakes and most people still fuck them up. Which is frustrating, because your resume is not what gets you the job. It's the thing sitting open on someone's screen while they're talking to you. Every question they ask comes off of it. Vague resume, vague interview.

Fix it once. Then go win the conversation.

This is mostly written for engineers and designers. Most of it works for anyone. LinkedIn is its own beast, I did that separately.

First, don't get eaten by the ATS

This part is boring and mechanical and you have to do it anyway.

  • One column. No side panels.
  • No graphics, no icons, no photos, no skill bars. Ever.
  • No tables, no text boxes, no headers or footers. Parsers choke on all of it.
  • Normal section names. "Experience," not "Where I've Made Impact."
  • PDF, unless they specifically ask for something else.
  • Name the file like a professional. firstname-lastname-resume.pdf. Not resume_final_FINAL_v3.pdf.

And put the actual keywords from the job description into your real bullets. Not into a keyword block at the bottom. If the JD says Postgres eight times and you've used Postgres, the word Postgres should appear in a line about something you built.

That's it. Don't overthink this part. A clean single-column resume passes almost everything.

Get the order right

Top to bottom:

  1. Name, contact, links
  2. Summary
  3. Experience
  4. Projects
  5. Education
  6. Skills

Two things I see constantly.

Education at the top. Students do this every single time. Nobody cares where you went. Putting it first tells me you think it's the best thing about you, which is a bad signal on its own. Bottom.

Skills at the top. A wall of keywords sitting above your actual work is the fastest way to look like you have nothing to show. Bottom.

Name, summary, work. That's the order a human actually reads in.

Your summary is three lines

What you do. What you've built. What you're looking for.

That's it. Don't write "results-driven professional passionate about leveraging technology." Everyone can tell that means nothing.

Write it like you'd say it out loud:

Product designer, 5 years, mostly consumer mobile. Owned onboarding and growth at two seed-stage startups. Looking for a role where I own a full surface end to end.

Done. Move on.

Every line has to pass one test

Someone reads your bullet and knows exactly what you'd own at their company.

That's the test. Most lines fail it badly.

Three things fix almost all of them.

Name the actual thing, not the category.

"Worked on payments" is a category. "Built the payouts service every merchant transaction runs through" is a thing.

Use a verb that says you built it.

"Helped with the redesign" and "designed and shipped the redesign" can describe the exact same work. They get completely different responses.

Say what changed.

"Redesigned the mobile signup flow" is fine. "Redesigned the mobile signup flow, activation 31% to 48% on 200k monthly signups" is something someone can act on.

Put it together:

BeforeWorked on search
AfterRebuilt the search ranking service behind our 4M-listing marketplace, p95 900ms to 210ms, clickthrough up 18%
BeforeContributed to the design system
AfterStarted the design system from zero, 90 components, migrated 4 product teams off legacy
BeforeHelped with financial reporting
AfterBuilt the three-statement model the board reviewed quarterly, cut close from 12 days to 4

Not every bullet needs a number. Forcing one everywhere reads try-hard. But every bullet needs a real thing and a verb that owns it.

Ownership is the whole game

This is the piece I care about most.

Everyone has experience. Everyone can list things on a page. Almost nobody has ownership, and that's the actual thing people are reading for.

They read your verbs to figure out which one you are.

Verbs that make you a passenger: maintained, supported, contributed to, assisted, helped, worked on, responsible for, participated in.

Verbs that make you the builder: built, designed, shipped, owned, authored, launched, rebuilt, started.

If you actually built something and your resume says you "helped maintain" it, you just talked yourself out of a job you can do. Self-inflicted rejection. I see it constantly.

And stop being humble. You're literally in a pile of hundreds of people. Nobody is going to read between the lines and generously assume you were the one who did the work. Be that guy. Say you did it.

Be specific. Categories get skimmed, facts get read.

Writing "AI/ML experience" in 2026 is like writing "computer experience." Everybody says it. It filters nothing.

What people are actually scanning for is the specific work. Agent harnesses, tool calling, orchestration loops, eval harnesses, multi-agent systems, latency and cost tradeoffs in production. If you've done any of that and your resume says "ML engineer with LLM experience," you're invisible to the exact people hiring for exactly what you do.

Same thing everywhere else:

"Design systems" is a category. "Owned the component library across 4 product teams" is a fact.

"Financial modeling" is a category. "Built the model that supported a $12M raise" is a fact.

"Growth marketing" is a category. "Ran paid from $0 to $200k/mo spend at 2.1 ROAS" is a fact.

Get specific or get skipped.

Numbers

These land: scale (2,000 merchants, 200k requests/month, 400 engineers), change (31% to 48%, 6 hours to 20 minutes), money (revenue, spend, cost saved), time (shipped solo in two weeks).

These are noise: lines of code, "10+ projects," meetings run, "improved performance by 80%" with no baseline and no metric.

One hard rule. Never put a number on your resume you can't talk about for five minutes. They will ask. "Cut latency 60%" with no idea how you measured it is worse than no number at all.

Context: where you were and when

Two problems, opposite directions.

Nobody's heard of your company. Your metric is floating in space. One clause fixes it. What the product is, who uses it, how big. "Built the matching engine behind our freight marketplace, 3,000 carriers and ~$200M booked a year."

Everybody's heard of your company. Now the logo is working against you. "SWE at Meta" makes me assume you owned some small widget on a giant machine, and that assumption is usually wrong. Fix it: "Founding engineer on [team], 6 people, built [thing]."

And say when you joined. "Series C startup, 2023 to 2026" and "Series C startup, employee #30" are completely different lines. Joined early? Say the headcount. Company scaled under you? Say the multiple. Joined late at a big name? Anchor the line to something you actually built, because the logo won't carry it.

Have a projects section. All of you.

This is the one I push hardest and the one everyone skips.

Everyone has experience. Everyone can claim things. What actually separates people is whether there's a body of work attached to them. Something you made because you wanted it to exist, not because someone assigned it.

This is not an engineering thing. A finance person with a public model of an industry they care about beats one who lists "financial analysis." A marketer who grew their own newsletter to 5,000 people beats one who lists "content strategy." A designer with three real case studies beats one with a Dribbble account.

And if you have no experience at all, projects are the entire game. Read that again.

Projects get you the internship. The internship does not get you the projects. People have this completely backwards and then wonder why nothing is landing.

Build the thing. Put it on the page. Link it.

Tailoring is a skill, not find-and-replace

Most people "tailor" by swapping keywords out of the JD. That's not tailoring. That's cosplay.

Real tailoring means understanding what the company actually does, who it's for, and what kind of person wins there. Then leading with the parts of your history that match.

Say I'm a designer applying to Airbnb. Airbnb is consumer at massive scale. So I lead with consumer work. Consumer surfaces, consumer metrics, consumer instincts. If the role skews mobile, my mobile work goes first and desktop gets one line. If I've got enterprise experience, it drops to the bottom or comes off entirely, because it's not the argument I'm making.

Then read the level.

IC role. They care whether you can do the work. Cut the managerial stuff. Nobody hiring an IC wants to read about the team you ran. It reads like someone who's going to be miserable in the seat.

Manager role. Flip it. Team size, scope, hiring, what you built through other people.

Every serious application gets a slightly different resume. That's the cost of doing it right. It's also exactly why the people who do it stand out.

Gaps and layoffs

Never write "career break." Never write "sabbatical." Never leave a bare 14-month hole with nothing in it.

A gap with nothing in it reads as a gap. A gap with work in it reads as someone who kept working.

Fill it with whatever's true. Contract work, freelance clients, consulting, open source, a project you shipped and put online. There's almost always something. If there genuinely isn't, go make something now and then the gap has an answer.

This isn't about hiding anything. It's about not handing someone a reason to stop reading.

The stuff that doesn't need its own section

One page. Unless you're genuinely tenured. Some people are and multi-page is fine for them. Most people are padding. Be honest about which one you are.

Stop putting irrelevant shit on there. Applying to an engineering or finance role? Your high school job doesn't go on the page. Neither does the unrelated part-time gig from six years ago. Nobody reads that as well-rounded. They read it as filler.

Links that make your case. GitHub, portfolio, personal site, a relevant X account. That's the list. Do not put your personal Instagram on your resume. Not your finsta. Not the account where you're posting dumb shit with your friends. I see this way more than you'd think. If a link doesn't make the argument that you can do the work, delete it.

Don't fucking lie. References get called. Numbers get questioned. If you can't back it in a live conversation, it doesn't go on the page. Getting caught mid-process is worse than never being in it at all.

Using AI properly

AI is great for iterating. It's terrible at writing your resume for you, and I can tell.

Em dashes everywhere. "Spearheaded." "Leveraged." "Robust." Perfectly parallel bullets that sound impressive and say nothing. The second I clock it I start reading everything else with more suspicion, which is the exact opposite of what you want.

Here's the right way to use it. One bullet at a time. Ask what question a hiring manager would ask next, then answer that question inside the line. Repeat until there's nothing left to ask.

"Built the ingestion pipeline." Doing what? For whom? How big? So what?

"Rebuilt the ingestion pipeline for logistics data across 200 carriers, nightly load from 6 hours to 20 minutes."

That's the loop. AI is good at running it with you. It's bad at running it for you.

Yara is trained on all of this, so it'll run that loop with you line by line and push back when a bullet is vague. Slight plug. I built it because I wanted it to exist.

Track your links

Small thing almost nobody does.

When you put a portfolio or project link on your resume, you should know when someone opens it. Which application. When. What they actually looked at and how long they stayed on it.

That tells you which applications are alive, who to follow up with, and when. Turns the black hole into something with signal in it.

That's built into Yara too. Tracked links plus session replay. Last plug.

Good resume vs bad resume

Same person, same jobs, same five years. Left is what I get. Right is what it should be.

BadSurvives neither the parser nor the seven seconds.

Your Name

you@email.com · instagram.com/yourhandle · linkedin.com/in/you

Education

B.S. Computer Science, State University, 2019 to 2023

GPA 3.6. Dean's List. Relevant coursework: Data Structures, Algorithms, Databases.

Skills

Software Development · AI/ML · Design Systems · Payments · Search · Cloud · Agile · Leadership · Communication · Problem Solving

Experience

Software Engineer, Northwind, 2023 to 2026

Worked on search

Helped with the redesign

Responsible for maintaining the payments codebase

Improved performance by 80%

Skills

React
Python
AWS
Figma
  1. 1Personal socials. If a link does not argue that you can do the work, it is arguing against you.
  2. 2Education above experience. Nobody cares where you went, and leading with it says you think it is the best thing about you.
  3. 3A keyword wall above the work. Categories get skimmed. This one filters nothing.
  4. 4Passenger verbs. Worked on, helped with, responsible for. Same work, and you just talked yourself out of it.
  5. 5A number with no baseline and no metric. You cannot defend this for five minutes, so it is worse than no number.
  6. 6Two columns, a photo, and skill bars. The parser drops the sidebar and you never find out.
GoodSame person, same jobs, same five years.

Your Name

you@email.com · github.com/you · yourname.com

Summary

Software engineer, 5 years, mostly backend and search. Owned ranking and payments at a freight marketplace. Looking for a role where I own a full surface end to end.

Experience

Software Engineer, Northwind, 2023 to 2026

Freight marketplace, 3,000 carriers and ~$200M booked a year. Employee #30.

Rebuilt the search ranking service behind our 4M-listing marketplace, p95 900ms to 210ms, clickthrough up 18%

Built the payouts service every merchant transaction runs through, 40k payouts a month on Postgres

Redesigned the mobile signup flow, activation 31% to 48% on 200k monthly signups

Projects

Ledger, open-source double-entry library, 1.2k stars. github.com/you/ledger

Built a live transit map for my city, 4k monthly riders. transit.yourname.com

Education

B.S. Computer Science, State University, 2023

Skills

Go, TypeScript, Postgres, Kafka, AWS, Elasticsearch

  1. 1Three lines. What you do, what you have built, what you are looking for.
  2. 2One clause of context, so the metric is not floating in space.
  3. 3The actual thing, a verb that owns it, and what changed.
  4. 4Projects, linked. This is the section everyone skips and the one that separates people.

Templates that actually work

Single column, clear hierarchy, no graphics, no skill bars, no photos. The rest is section order, and section order is the argument.

Engineering

Name, contact, links
Summary
Experience
Projects
Skills
Education

Projects sit above skills, because the code you chose to write says more than the list. Skills are tools you have actually shipped with, never categories.

Design

Name, contact, portfolio
Summary
Experience
Selected work
Skills
Education

The portfolio link goes in the header, not the last line. Selected work carries links, and each entry names the surface you owned rather than the project you were on.

General

Name, contact, links
Summary
Experience
Projects
Education
Skills

The default order for everyone else. One column, normal section names, nothing decorative. A finance model or a newsletter you grew goes under Projects.

Run this before you send anything

  • Two-column layout or graphics that break the parser
  • Education above your experience
  • Skills above your experience
  • Skills written as a keyword wall
  • No projects section
  • Passenger verbs where builder verbs belong
  • Categories instead of actual things ("payments," "search," "AI/ML")
  • Numbers you can't defend for five minutes
  • No context on a company nobody's heard of
  • Big-name logo with no team, no headcount, no surface
  • A gap labeled "career break"
  • Personal socials linked
  • Three pages at two years of experience
  • High school jobs and unrelated part-time work
  • The same resume sent to 200 companies
  • Em dashes

The one question

After every bullet, ask: can a hiring manager picture exactly what I'd build for them in month one?

If you can't picture it yourself, neither can they.

Get this out of the way. It's table stakes. It's not what wins you the job, but every conversation gets built on top of it, and a sharp resume means your talking points are already loaded before you open your mouth.

Go rewrite it tonight.

Run the one you have through the free resume check first. It scores what a recruiter and a parser actually see, names every issue on this list that your resume has, and takes no account.

Check your resume, free

Frequently asked questions

How long should a resume be?

One page, unless you are genuinely tenured. Some people are, and multi-page is fine for them. Most people are padding, and the second page is usually high school jobs, unrelated part-time work, and coursework. Cut those and the page problem solves itself. Two years of experience across three pages is the single most common length mistake I see.

What do recruiters look at first on a resume?

Your most recent title, the company next to it, and the first bullet under it. That is the read. The number everyone quotes is the 7.4-second average screening time from a 2018 Ladders eye-tracking study. Treat it as a directional number, not science: the study was run by a company selling to job seekers and never disclosed its sample size. The instruction it implies is right anyway. Your top third has to carry the argument.

Does an ATS really reject most resumes?

No, and the stat you have seen is made up. "75% of resumes are rejected by an ATS before a human sees them" traces back to no primary source at all. What is real comes from Harvard Business School and Accenture's Hidden Workers study: 88% of employers said qualified high-skill candidates get filtered out because they do not match the exact criteria in the job description, rising to 94% for middle-skill roles. The system is not rejecting you. It is failing to match you, which is a different problem with a different fix.

Why is my resume getting rejected by the ATS?

Usually one of two things. The layout is unparseable, which means two columns, tables, text boxes, headers, footers, icons, or a photo, and the parser silently drops whatever it cannot read. Or the words on the page do not match the words in the posting. Fix the first with a single-column PDF and normal section names. Fix the second by putting the job description's actual terms inside real bullets about things you built, never in a keyword block at the bottom.

Do employment gaps get you filtered out?

Sometimes, automatically, before anyone reads a word. The same Harvard and Accenture research found that 48% of employers filter out middle-skill candidates on employment gaps of more than six months, on that basis alone. That is why a bare hole is the worst option. Fill it with what is true: contract work, freelance clients, consulting, open source, a project you shipped and put online. Never label it "career break" or "sabbatical."

Should I put projects on my resume?

Yes, all of you, and it is the section almost everyone skips. Experience is claimable. A body of work is not. It is also not an engineering thing: a public model of an industry beats "financial analysis," a newsletter you grew to 5,000 people beats "content strategy," three real case studies beat a Dribbble account. If you have no experience at all, projects are the entire game. Projects get you the internship. The internship does not get you the projects.

Do I need a different resume for every job?

For every job you seriously want, yes. Not a find-and-replace on keywords, which is cosplay. Real tailoring is understanding what the company does, who it is for, and what kind of person wins there, then leading with the parts of your history that match and demoting the parts that do not. Read the level too: cut the managerial material for an IC role, lead with team size and scope for a manager role.

Can I use AI to write my resume?

Use it to edit, not to author. Generated-from-scratch resumes read generic, invent things you did not do, and I can usually clock them: em dashes everywhere, "spearheaded," "leveraged," perfectly parallel bullets that say nothing. The useful loop is one bullet at a time, asking what a hiring manager would ask next and answering it inside the line. Worth knowing where the leverage actually is: of 1.22 million users in Kickresume's 2025 data, about 64% used AI to check ATS compatibility and only about 3.5% used it to tailor to a specific job description. Almost everyone is using AI on the part that matters least.

How far back should a resume go?

About ten years, or your last three to four roles, whichever is shorter. Older than that gets one line or nothing. High school jobs and unrelated part-time work from six years ago do not read as well-rounded, they read as filler. The exception is a role that is directly the argument you are making for this job, in which case keep it and cut something newer instead.

Should I use a two-column resume template?

No. Two columns, sidebars, skill bars, icons, and photos are the things parsers choke on, and you never find out that half your resume was dropped. Single column, normal section names, PDF unless they ask for something else. A clean single-column resume passes almost everything, and the templates that look most designed are the ones most likely to arrive as a scramble.

Do I need a number on every bullet?

No, and forcing one everywhere reads try-hard. Every bullet needs a real thing and a verb that owns it. A number is what you add when you can say what changed. The ones that land are scale, change, money, and time. The ones that are noise are lines of code, "10+ projects," and "improved performance by 80%" with no baseline. One hard rule: never put a number on your resume you cannot talk about for five minutes, because they will ask.

How many applications does it take to get an interview?

More than it used to, which is exactly why the resume has to be sharp. Greenhouse's March 2026 benchmark report puts North American applications per role at 244 in 2025, up 111% from roughly 115 in 2022, with recruiters handling over 400% more applications than in 2022. Interviews per hire rose only 4.5% in the same window. Volume went up, patience did not, and sending the same resume to 200 companies is the strategy that fails hardest in that math.