RecastCV
Software engineering

Software engineer CV that gets interviews

Most software engineer CVs undersell the candidate. Generic bullets, mismatched language, and responsibilities listed instead of outcomes mean a strong engineer gets filtered out before a human reads their work. This guide covers what to include, how to structure it, and how to tailor it to each job description without starting from scratch.

Tailor your CV to a job description

What hiring managers actually look for in a software engineer CV

A software engineering recruiter spends, on average, six seconds on a first pass. In that window they are asking three questions: Can this person do the job? Have they done it somewhere similar? Do their bullet points match the language in our job description?

Most CVs fail the third test. A candidate who built a high-throughput event pipeline writes "developed backend services" because they are summarising broadly. The job description says "Kafka," "event-driven architecture," and "99.9% SLA." The ATS parser sees a mismatch and the CV gets scored down before a human ever reads it.

The fix is not to spray keywords throughout your CV. It is to surface the real project details — the stack, the scale, the outcome — in the language the job description uses. That is what tailoring means.

For software engineers specifically, hiring managers prioritise: impact at scale (users, throughput, latency improvements), specific technology choices and why, ownership and leadership (solo vs team, IC vs lead), and measurable outcomes (performance gains, incident reduction, revenue linked to technical work).

How to structure a software engineering CV in 2026

The optimal structure for a software engineering CV depends on your level, but the bones are consistent:

Summary (3–5 lines) — Not a generic objective statement. A tight paragraph that names your specialism (backend, full-stack, infra, ML engineering), the scale you have worked at, and one or two landmark accomplishments. Write this last, after you have tailored everything else.

Skills — List languages, frameworks, cloud platforms, and tooling. Group them logically: Languages, Frameworks, Databases, Infrastructure, Observability. Do not list things you cannot speak to in an interview. Order by relevance to the target role, not by how much you like them.

Experience — Three to four bullets per role, each starting with a strong action verb and ending with a quantified outcome. The STAR format (Situation, Task, Action, Result) collapsed into a single sentence is the goal. Avoid "responsible for" and "helped with" — these are contribution-obscuring phrases.

Projects — Only needed if you are junior or if a side project is genuinely more impressive than your employment history. Link to GitHub where the code is actually there.

Education — Brief. Institution, degree, year. Add relevant coursework only if you are early-career.

Length: one page for under five years of experience, two pages for senior and above. Never go to three pages.

Backend, frontend, and full-stack: what changes per track

The structure above holds for all tracks, but the emphasis shifts by specialism.

Backend engineers should foreground system design and scale. Mention data volumes, request rates, latency targets, and the distributed systems concepts you applied (consensus, sharding, caching layers). If you improved a P99 latency, say by how much. If you migrated a database, say how much data and how you handled zero-downtime.

Frontend engineers should foreground Core Web Vitals, bundle size improvements, accessibility work, and design system contributions. Hiring managers in product-led companies care about polish and collaboration with designers. Mention if you reduced LCP by X%, built a component library adopted by N teams, or shipped a feature used by N active users.

Full-stack engineers face a different challenge: depth versus breadth signalling. A recruiter reading your CV is trying to calibrate whether you are a strong backend engineer who can ship a frontend, or a frontend engineer who can write an API, or genuinely balanced. Make your depth explicit — list the area where you have done the most complex work first, even if the job description is ambiguous.

Infrastructure and platform engineers should highlight reliability engineering metrics (MTTR, SLO attainment, on-call reduction), tooling adoption, and cost savings. Kubernetes cluster size, deployment frequency improvements, and incident response statistics are all fair game.

The most common mistakes in software engineer CVs — and how to fix them

Responsibilities instead of outcomes. "Maintained the payment service" tells a reader nothing. "Cut payment service P95 latency from 420ms to 80ms by introducing a Redis caching layer, reducing customer support tickets by 18%" tells them everything. Every bullet should answer: what did I change and what happened as a result?

Technology lists without context. Listing "React, Node.js, PostgreSQL, Redis, Kubernetes, Terraform, Datadog" at the top of your CV is table stakes, not a differentiator. Recruiters expect these skills. The differentiation comes from showing how you applied them at depth in your bullets.

Mismatched language. If the JD says "TypeScript" and your CV says "JavaScript," an ATS may score you down even if you are fluent in both. Use the exact terminology from the job description where it accurately describes your experience.

Undated or unclear projects. Side projects without dates, context, or usage numbers are filler. Either give them substance (launched, N users, open-sourced with N stars) or cut them in favour of more employment detail.

Generic summary. "Experienced software engineer passionate about building scalable solutions" appears on approximately 40% of CVs. Write something that could only be true of you: your specialism, your scale, your one landmark outcome.

Before & after: real tailoring example

Job description context: Senior Backend Engineer at a fintech startup — Kafka, Python, PostgreSQL, distributed systems, high availability

Before — generic bullets
  • Developed backend services for the payments team
  • Worked with Kafka and databases to process transactions
  • Helped improve system reliability and performance
  • Collaborated with frontend and DevOps teams on features
After — tailored with RecastCV
  • Designed and shipped a Kafka-based event pipeline processing 280k transactions/day for the payments team, achieving 99.95% uptime over 12 months
  • Migrated 3TB PostgreSQL database to partitioned schema with zero-downtime cutover, reducing query latency by 61% at P99
  • Led on-call rotation and authored runbooks that cut MTTR from 47 minutes to 11 minutes across six production incidents
  • Collaborated across backend, frontend, and SRE to ship real-time fraud detection feature — false-positive rate 34% below baseline

Tailor your CV to any job description

Sign up free. Paste a job URL. Get a tailored, ATS-ready CV in under 30 seconds — grounded in your real projects.

Get started freeTailor your CV to a job description
Related guides
Data scientist resumeCareer change resumeFree ATS CV checker

Frequently asked questions

How long should a software engineer CV be?

One page for under five years of experience; two pages for senior engineers and above. Never three. Recruiters prefer density and relevance over exhaustive chronology.

Should I list every technology I know?

No. List the technologies you can speak to confidently in an interview and that are relevant to the roles you are targeting. A long list of technologies you barely touched signals poor signal-to-noise.

How do I tailor my software engineer CV without rewriting it for every job?

Keep a master CV with all your experience, then use a tailoring tool like RecastCV to rewrite bullets and the summary to match each job description in under 30 seconds. The tailoring is grounded in your master CV so nothing is fabricated.

Do ATS systems parse code samples or GitHub links?

Most ATS systems do not parse GitHub repositories — they read the text in your CV. Include key project details in the bullet points themselves. A GitHub link is useful for a human reviewer but contributes nothing to ATS scoring.