5 min read
On this page

Writing a Technical Resume

Your resume has one job: get you past the screen and into an interview. It is not a comprehensive career history. It is not a list of technologies you have touched. It is a curated, one-page argument that you are worth spending an hour talking to. Recruiters spend 6 seconds on their first pass. In those 6 seconds, they are looking at your most recent job title, the company name, and one or two bullet points. Everything else is supporting material for the second pass — if you earn one.

The One-Page Rule

One page. Not "one page unless you have a lot of experience." One page. Senior engineers at Google, principal architects at Amazon, and CTOs of funded startups all manage to fit their resumes on one page. If they can, you can.

The constraint forces you to prioritize ruthlessly. Every line must earn its place. If a bullet point does not make someone want to interview you, cut it.

Exception: Academic CVs for research positions. Those follow
different conventions and can be multi-page. For industry
software engineering roles, one page.

Structure

The layout is straightforward. Do not get creative with design. ATS systems parse standard formats reliably; custom layouts break them.

[Your Name]
[Email] | [Phone] | [LinkedIn] | [GitHub]
[City, State — no full address needed]

EXPERIENCE
  [Job Title] — [Company Name]              [Start – End]
  - Impact bullet 1
  - Impact bullet 2
  - Impact bullet 3

  [Previous Job Title] — [Company Name]     [Start – End]
  - Impact bullet 1
  - Impact bullet 2

EDUCATION
  [Degree] — [University]                    [Year]

SKILLS
  Languages: Python, Go, TypeScript
  Technologies: PostgreSQL, Redis, Kubernetes, AWS

Put experience first unless you graduated within the last year, in which case education can go first. Skills go at the bottom — recruiters know where to find them.

Writing Impact Bullets

This is where most resumes fail. Engineers describe responsibilities instead of impact. Nobody cares what you were responsible for. They care what you accomplished.

Bad:  "Responsible for backend services"
Good: "Reduced API latency by 40% by migrating from REST to gRPC,
       cutting p99 response time from 800ms to 480ms"

Bad:  "Worked on the payment system"
Good: "Built fraud detection pipeline processing 2M transactions/day,
       reducing chargebacks by 23% ($1.2M annual savings)"

Bad:  "Helped improve test coverage"
Good: "Increased unit test coverage from 34% to 89%, reducing
       production incidents by 60% over 6 months"

Bad:  "Used React and Node.js to build features"
Good: "Shipped real-time collaboration feature (React + WebSocket)
       adopted by 15K users in the first month"

The formula is: [Action verb] [what you built/did] [quantified impact]

Quantify Everything

If you cannot measure it precisely, estimate. Reasonable estimates are better than vague descriptions.

Types of metrics that work:
  Performance: "Reduced latency by X%"
  Scale:       "Handled N requests per second"
  Business:    "Increased revenue by $X" or "Saved $X per year"
  Adoption:    "Used by N teams / N users"
  Quality:     "Reduced incidents by X%"
  Speed:       "Cut deploy time from X hours to Y minutes"
  Scope:       "Managed migration of N services / N million rows"

If you genuinely cannot quantify something, at least describe the scope: "Led 3-person team," "Across 12 microservices," "For a product with 500K MAU."

Tailoring Per Company

A single generic resume is leaving interviews on the table. You do not need to rewrite from scratch, but you should adjust emphasis.

Applying to a startup:
  Emphasize breadth, speed, ownership, shipping.
  "Built and shipped X end-to-end in 3 weeks."

Applying to a large tech company:
  Emphasize scale, complexity, cross-team collaboration.
  "Designed system handling 100M daily events across 4 teams."

Applying to a fintech:
  Emphasize reliability, security, precision.
  "Built payment reconciliation system with 99.999% accuracy."

Applying to a ML/AI company:
  Emphasize data pipelines, model deployment, experimentation.
  "Built feature store serving 50M predictions/day at p99 < 10ms."

Read the job description carefully. Mirror the language. If they say "distributed systems," use that phrase. If they say "cross-functional collaboration," have a bullet that demonstrates it.

ATS-Friendly Formatting

Applicant Tracking Systems are the first reader of your resume at most companies. They are not smart. Help them out:

Do:
  - Use standard section headers (Experience, Education, Skills)
  - Use simple formatting: bold for headers, bullets for items
  - Submit as PDF (preserves formatting) or plain text
  - Use standard fonts (Arial, Calibri, Times New Roman)
  - Include keywords from the job description naturally

Do not:
  - Use tables or columns (ATS cannot parse them reliably)
  - Use headers or footers (many ATS skip them entirely)
  - Use images, icons, or graphics
  - Use unusual section names ("My Journey" instead of "Experience")
  - Stuff keywords invisibly (white text on white background — yes,
    people try this, and yes, it gets flagged)

What Recruiters Actually See

Understanding the recruiter's workflow changes how you write:

First pass (6 seconds):
  - Most recent company name and title
  - Years of experience (quick math on dates)
  - One or two eye-catching metrics
  Decision: Read more or move on.

Second pass (30 seconds, if you earned it):
  - Scan all bullet points for relevance to the role
  - Check skills section for required technologies
  - Look for progression (did titles increase over time?)
  Decision: Phone screen or pass.

Third pass (2 minutes, before the phone screen):
  - Read bullets carefully
  - Check for red flags (gaps, short tenures, inconsistencies)
  - Look up the companies they don't recognize
  - Prepare talking points for the call

Your resume needs to survive the 6-second pass. The most important information goes at the top: your most recent and most impressive role.

Section-by-Section Guidance

Keep it clean. Name, email, phone, LinkedIn, GitHub. City and state are sufficient — no full address. Do not include a photo, date of birth, or marital status (this is standard in the US; conventions vary by country).

Experience

Three to four roles maximum. For each role, three to four bullets. Your most recent role gets the most space.

Start every bullet with a strong action verb:

Strong verbs: Built, Designed, Led, Shipped, Migrated, Reduced,
Increased, Automated, Implemented, Optimized, Architected

Weak verbs: Helped, Assisted, Participated, Contributed,
Worked on, Was responsible for, Was involved in

Education

University name, degree, graduation year. GPA only if above 3.5 and you graduated within the last 3 years. Relevant coursework only if you lack work experience. Once you have 2+ years of experience, education becomes a single line.

Skills

List languages, frameworks, tools, and platforms. Be honest — only list things you could discuss intelligently in an interview. Listing "Kubernetes" when you have only run kubectl get pods will backfire.

Order by relevance to the target role, not alphabetically.

Projects (Optional)

If you have fewer than 2 years of experience, a projects section can strengthen your resume. Include 1-2 projects with the same impact-focused bullets you use for experience.

Personal Project — Open Source CLI Tool
  - Built a CLI tool for database migrations in Go, 400+ GitHub stars
  - Supports PostgreSQL and MySQL with zero-downtime schema changes

Career Gaps & Short Tenures

Gaps happen. Layoffs happen. Short stints happen. Do not try to hide them — the dates are on your LinkedIn and background checks catch discrepancies.

For gaps:
  - If you did something productive (freelancing, learning,
    open source), mention it briefly
  - If personal (health, family), a simple "Career break" is fine
  - No need to explain in the resume itself — save it for the
    recruiter call if asked

For short tenures (under 1 year):
  - One short tenure is fine; everyone understands bad fits
  - Multiple short tenures raise flags — emphasize the impact
    you had in each, regardless of duration
  - Layoffs are increasingly common and carry less stigma

The Cover Letter Question

Most tech companies do not read cover letters. Some ATS systems do not even have a field for them. Your time is better spent tailoring the resume itself.

Exception: small companies, startups where you are emailing the founder directly, or roles where writing is part of the job. In those cases, a short (3-paragraph) cover letter that explains why you want this specific role at this specific company can be effective.

Common Pitfalls

  • Two pages: Unless you are applying for an academic research position, your resume should be one page. Recruiters will not read the second page.
  • Responsibilities instead of impact: "Responsible for the data pipeline" tells the recruiter nothing. "Built data pipeline processing 10TB daily" tells them you can build at scale.
  • No metrics: Every bullet should have a number. If you truly cannot quantify impact, describe scope (team size, user count, system scale).
  • Skills laundry list: Listing 30 technologies signals that you are not deep in any of them. List 8-12 that are most relevant to the target role.
  • Same resume for every application: Tailoring takes 15 minutes per application and dramatically increases your screen-to-interview rate.
  • Fancy formatting: Creative designs, colors, infographics, and multi-column layouts break ATS parsing and distract from content. Clean and simple wins.
  • Objective statements: "Seeking a challenging role where I can grow" adds zero information. Remove it.
  • References available upon request: This is implied. Remove it. Reclaim the line for another impact bullet.

Key Takeaways

  • One page, no exceptions. Every line must earn its place by making someone want to interview you.
  • Write impact bullets, not responsibility descriptions. The formula is: action verb + what you did + quantified result.
  • Recruiters spend 6 seconds on the first pass. Put your most impressive role, company, and metrics where they cannot be missed.
  • Tailor per company. Mirror the language in the job description. Emphasize the dimensions that matter most to the target role.
  • Keep formatting ATS-friendly: no tables, no columns, no graphics, standard section headers, PDF format. The prettiest resume in the world is useless if the ATS cannot parse it.