Writing a software engineering CV in 2026 is not the same exercise it was three years ago. The hiring market has tightened at every level. Companies that were hiring generously in 2021 and 2022 are running leaner engineering teams and applying more scrutiny to each candidate. Applicant Tracking Systems are widely used even at startups. And recruiters are seeing more CVs than ever, partly because AI tooling has lowered the cost of applying at scale — which means the bar for standing out has risen.
This guide gives you four annotated CV examples, one for each career stage from junior to staff, a keyword reference table by stack, and a clear breakdown of what most software engineering CVs get wrong. Everything here is grounded in what actually gets people interviews, not what sounds good in the abstract.
What software engineering recruiters actually look for in 2026
The 2026 hiring market for software engineers has three defining characteristics that affect how your CV should be written.
Demonstrated output, not just tenure. The market correction that began in 2022 shifted recruiter emphasis from "X years at Y company" toward "what did you ship and what did it do?" A candidate with three years of experience and three measurable outcomes beats a candidate with six years of experience and no metrics. This is partly because companies are more selective, and partly because AI-assisted code generation has made raw coding ability harder to signal without concrete deliverables.
AI-assisted development fluency is expected, not optional. In 2024 it was a differentiator to mention GitHub Copilot or similar tooling. In 2026, not mentioning it reads as a gap. Recruiters and hiring managers at most companies expect engineers to be fluent with AI-assisted development — pair programming with LLMs, prompt engineering for code tasks, evaluation of AI-generated code quality. This does not mean you need to dedicate a bullet to it, but your CV should not read as if it was written in 2020.
Systems design signals seniority. At mid-level and above, recruiters are looking for evidence that you have thought beyond the feature and considered the system: data models, API contracts, scalability constraints, reliability patterns, observability. These do not require you to have worked at Google scale — they require you to have used the vocabulary and to have made architectural decisions, even modest ones. A mid-level engineer whose CV mentions "designed the data model for X" reads as more senior than one whose CV lists only implementation tasks.
Stack specificity matters for ATS. Greenhouse, Lever, Workday, and most modern ATS platforms do exact-match and fuzzy-match scoring on technical skills. "JavaScript" and "TypeScript" are not synonyms in an ATS. "PostgreSQL" and "relational databases" are not interchangeable. Name your actual tools explicitly.
4 annotated examples
Junior (0–2 years)
A junior software engineer CV has to solve one specific problem: demonstrating that you can write production code when you have limited production history. The solution is to lead with projects — internship work, side projects, open source contributions, or coursework projects with real technical substance — and to quantify outcomes wherever possible.
Example bullets (rewritten for impact):
| Generic | Rewritten |
|---|---|
| "Built a web app for my final-year project." | "Built a full-stack task management app in React and Node.js, deployed on AWS Lambda; 200+ active users during university trial." |
| "Contributed to an open source project." | "Merged 4 pull requests into a 3,000-star open source CLI tool (Go); fixes reduced binary startup time by 18%." |
| "Interned at a startup and worked on backend features." | "Implemented two REST endpoints for a B2B SaaS product (Python/FastAPI, PostgreSQL) that unblocked a partner integration used by 12 enterprise clients." |
What makes it work: The rewritten bullets name specific technologies, include a scale or outcome figure, and describe work that a hiring manager can picture. A junior candidate with bullets like these signals production readiness even without years of experience. Note that each bullet is honest — no inflated metrics, no vague "improved performance by 10x."
Skills section advice: List your stack explicitly — language, framework, database, cloud. Do not write "proficient in front-end technologies." Write "React, TypeScript, Tailwind CSS, Vite." Do not pad with tools you touched once in a tutorial. ATS systems score on presence of terms; interviewers will probe any term they see.
Mid (2–5 years)
At mid-level, you are expected to have shipped features independently, to have worked inside an existing codebase of meaningful size, and to have collaborated with non-engineering functions — product, design, data. Your CV should show evidence of all three.
Example bullets (rewritten for impact):
| Generic | Rewritten |
|---|---|
| "Improved API performance." | "Reduced p99 API latency from 420ms to 95ms by replacing synchronous DB calls with async batching (Node.js, Redis, PostgreSQL); unblocked the mobile team's launch timeline." |
| "Led migration to microservices." | "Scoped and executed the migration of a 40k-LOC monolith segment into two independently deployable services (Go, gRPC); reduced deployment frequency from weekly to daily." |
| "Worked with product team on roadmap features." | "Collaborated with PM and design to define acceptance criteria for a new reporting module; delivered all three Q2 milestones on time against a 6-week timeline." |
What makes it work: The mid-level bullets show ownership ("scoped and executed"), cross-functional work ("collaborated with PM and design"), and system-level awareness ("p99 latency," "independently deployable services"). The metrics are specific enough to be credible without being implausibly precise.
Summary guidance: A mid-level summary should identify your primary stack, your domain, and one thing that makes you effective beyond writing code. "Full-stack engineer with four years building B2B SaaS products in TypeScript and Go. Strong track record of delivering cross-functional features on time and reducing system latency at scale."
Senior (5–10 years)
Senior engineers are expected to make architectural decisions, mentor more junior teammates, and operate with minimal direction on complex, ambiguous problems. Your CV should show evidence of each. The common mistake at senior level is a CV that reads like a mid-level CV with more experience: a list of features shipped without any indication of scope, decision-making, or influence beyond your own code.
Example bullets (rewritten for impact):
| Generic | Rewritten |
|---|---|
| "Designed the authentication system." | "Architected an OAuth 2.0 + OIDC authentication layer supporting 12 identity providers (Rust, Axum); defined the security model adopted across all four product teams." |
| "Helped junior engineers on the team." | "Established a code review standard and pairing rotation for a team of eight engineers; average PR cycle time dropped from 3.2 days to 1.1 days over one quarter." |
| "Led the infrastructure modernisation project." | "Led migration from EC2-based deployments to EKS (Kubernetes 1.29, Helm, Terraform); reduced infrastructure costs by 34% and mean time to recovery from 47 minutes to 9 minutes." |
What makes it work: The senior bullets show system-level decisions with clear ownership ("architected," "defined the security model adopted across"), quantified mentorship impact (PR cycle time), and business outcomes alongside technical ones (cost reduction, MTTR). At this level, a recruiter is looking for whether you can own a problem end to end — not just implement it.
Note on AI-assisted development: For senior engineers, this is a good level at which to include a brief mention. A bullet like "Established AI-assisted code review practices using GitHub Copilot and custom Claude prompts; team code throughput increased 25% with no increase in defect rate" signals leadership on a currently relevant topic without sounding gimmicky.
Staff (10+ years)
Staff engineers work at the intersection of engineering and strategy. The expectation is that you have shaped technical direction at an organisational level, influenced decisions beyond your immediate team, and driven outcomes that can be measured at the business level. A staff CV that reads as a senior CV with extra years is a missed opportunity.
Example bullets (rewritten for impact):
| Generic | Rewritten |
|---|---|
| "Defined the technical roadmap." | "Authored the three-year platform roadmap adopted by the CTO and CPO; roadmap prioritised a shift to event-driven architecture (Kafka, Flink) that reduced integration lead time by 60% across six product teams." |
| "Worked across multiple teams." | "Acted as technical lead across four engineering teams (32 engineers) for a 14-month platform re-architecture; coordinated dependency resolution and maintained a shared RFC process that resolved cross-team blockers in under 48 hours." |
| "Improved the interview process." | "Redesigned the system design interview loop for engineering hiring; increased signal reliability (as measured by 6-month performance correlation) by 28% and reduced time-to-hire by 3 weeks." |
What makes it work: Staff bullets describe work that is organisational in scope — "adopted by the CTO," "across four engineering teams," "redesigned the interview loop." The outcomes are business-relevant (integration lead time, time-to-hire) not just technical. The numbers are plausible and specific.
Education: At staff level, education is rarely a deciding factor. List it briefly. The work history speaks for itself.
Keywords by stack
The table below is a reference for which skills, frameworks, and metrics to name in your CV, organised by primary stack. Use this as a checklist against the specific job description you are targeting — not every column applies to every role.
| Stack | Core skills to name | Frameworks and tools | Metrics recruiters want |
|---|---|---|---|
| JavaScript / TypeScript | TypeScript, Node.js, async patterns, REST, GraphQL | React, Next.js, Remix, Fastify, Express, Vitest, Playwright | p99 latency, bundle size reduction, test coverage %, deployment frequency |
| Python | Python 3.x, async/await, type hints, OOP, data modeling | FastAPI, Django, SQLAlchemy, Celery, pytest, Pydantic | Request throughput, model inference latency, pipeline run time |
| Go | Go 1.22+, goroutines, channels, interfaces, gRPC | Gin, Echo, GORM, testify, golangci-lint | Binary startup time, memory footprint, request latency |
| Rust | Rust 1.78+, ownership model, async (Tokio), FFI | Axum, Actix-web, Serde, Cargo workspaces | Latency vs equivalent C++/Go, memory safety incidents eliminated |
| Infra / DevOps | Kubernetes, Terraform, CI/CD, IaC, observability | AWS/GCP/Azure, EKS/GKE, Helm, GitHub Actions, Datadog, Prometheus | Cost reduction %, MTTR, deployment frequency, incident reduction |
A few rules for using this table: name the specific version where it signals currency (Kubernetes 1.29, not just "Kubernetes"), use the exact tool name (PostgreSQL not "relational databases"), and only include terms you can discuss in detail in an interview.
Common mistakes
Code instead of outcomes. The most widespread mistake in software engineering CVs is bullets that describe what code you wrote rather than what the code did. "Implemented a caching layer using Redis" is a description of code. "Reduced average page load time from 2.1s to 0.4s by introducing a Redis caching layer, improving trial-to-paid conversion by 8%" is an outcome. The code is the same. The bullet is not.
Generic summaries. "Experienced software engineer with a passion for building scalable systems" has appeared in roughly a third of all software engineer CVs since 2018. It tells a recruiter nothing. A useful summary names your stack, your domain, your career stage, and one specific thing you are good at. It should read differently for every company you send it to.
Framework stuffing. Listing every framework you have touched in a ten-year career works against you. An ATS sees a long skills list and weights it accordingly — but a hiring manager sees a candidate who cannot prioritise. Keep your skills section to the tools that are current, relevant, and that you can defend in a technical screen. If you used Rails in 2018 and have not touched it since, it probably does not belong in 2026.
No indication of scale. "Built a microservices architecture" could describe a toy project or a system handling 100 million requests per day. Recruiters assume the low end unless you tell them otherwise. Include user counts, request volumes, team sizes, or data volumes wherever they are honest and available.
Burying the lead. A senior engineer who spent three years building a distributed caching system that became a company-wide platform should not have that work as bullet four under a role. The most impressive, relevant work should be first in the bullet list for that role, even if it was not chronologically the last thing you did there.
Tailor these examples to any JD with RecastCV
The examples and keyword tables above give you the framework. But when you are applying to a specific role, the tailoring needs to be specific — the JD for a backend engineer at a fintech using Rust will emphasise different things than one for a full-stack engineer at a consumer startup using TypeScript.
RecastCV takes your master CV and a job description URL and rewrites your bullets in the language of that specific role — using only your real experience, no fabrication. The result is a tailored .docx in under 30 seconds, with keyword coverage you can verify before sending. For software engineering roles in particular, where stack specificity is the difference between passing an ATS filter and failing it, that precision matters.
The use cases page for software engineer CVs goes deeper on role-specific tailoring for backend, frontend, and full-stack positions. And if you want to understand the ATS mechanics behind why keyword specificity matters, the guide on ATS resume format 2026 covers the parse-score-route pipeline in detail. For the tailoring methodology itself, see how to tailor your CV to a job description.
Frequently asked questions
How long should a software engineer CV be in 2026?
One to two pages depending on experience. Junior and mid-level engineers should target one page — brevity forces prioritisation, which is a signal in itself. Senior and staff engineers can go to two pages if the second page contains genuinely distinct, high-value experience. Three pages is almost never justified for an individual contributor role. If your CV is running long, cut the oldest roles to bullet summaries or remove them entirely.
Should I list every programming language I know?
No. List the languages you use regularly and can defend in a technical screen. If you list Python but your primary language is Go and you have not written Python in three years, you are setting yourself up for an awkward conversation. ATS systems reward specificity, but hiring managers reward honesty. A focused list of five languages you know well outperforms a padded list of twelve.
Do I need a GitHub link on my CV?
It helps if your public repositories are active and representative. A GitHub profile with 50 commits across one project from 2021 is neutral at best. A profile with recent activity, readable code, and a few substantial projects is a genuine signal. If your best work is in private repositories at your employer, note that — 'most production work in private repos at Acme Corp' is a reasonable explanation. Do not link a sparse or inactive GitHub profile and expect it to help.
Should I include AI tools like GitHub Copilot in my skills section?
In 2026, mentioning AI-assisted development tools is appropriate and expected at most companies. The way to include it is not as a standalone skill item but woven into context: a bullet describing a workflow improvement, a line in your summary about working effectively with AI tooling, or a mention in a specific project where it was relevant. Listing 'GitHub Copilot' as a skill next to 'VS Code' reads as filler. Describing how you used it to achieve a measurable outcome reads as competence.