Real template preview
Modern CV
Software Engineer CV in 2026 [Free Checklist]
Recruiters usually decide whether a software engineering application is worth reading by looking for three things quickly: the stack you use, the scale of work you have handled, and the evidence that you can ship reliable software with other people. This Software Engineer CV guide shows you how to turn code, systems, product decisions, testing habits, and delivery outcomes into a CV that works for UK software roles. Use it to plan your own profile, work experience, skills, projects, and final checks before you apply.
Create a focused CV with Modern CV.
What every Software Engineer CV needs to show
A useful Software Engineer CV should help two readers at once. The recruiter needs quick role fit, keyword clarity, and a readable page. The engineering manager needs proof that you can solve real problems, understand trade-offs, and write software that survives beyond the first release.
Include these elements:
Why this matters
Keep the evidence specific
Do not treat the CV as an inventory of everything you have touched. The best version is selective. It tells the reader where you are strongest, what kind of engineering environment you know, and why your judgement is useful in the role they are trying to fill.
-
1
A clear role title, location, contact details, and portfolio or GitHub link where relevant.
-
2
A short profile that names your main stack, product context, and engineering scope.
-
3
Recent experience bullets that connect technical decisions to measurable outcomes.
-
4
Evidence of testing, debugging, review, documentation, and support habits.
-
5
A focused skills section with languages, frameworks, cloud tools, data stores, and practices you can discuss confidently.
-
6
Project examples that add proof of ownership rather than repeating your work history.
-
7
Education, certifications, apprenticeships, bootcamp training, or self-directed learning where they support your route.
-
8
Clean formatting that is easy for both applicant tracking systems and human readers to scan.
Software Engineer CV preview
The preview for this page uses Maya Patel, a London-based senior software engineer who works across Laravel, TypeScript, APIs, cloud services, and product delivery. Her CV is not built around a long list of tools. It leads with product engineering impact, then backs that up with stack, projects, testing, and platform evidence.
Use the preview as a structure, not a script. Replace the sample metrics, stack, employers, and projects with your own evidence. The goal is to make your strongest engineering story easier to find, not to copy another developer's career.
How to write a Software Engineer CV
Start with the job advert, not with your old CV. Software engineering job titles can hide very different expectations. One advert may need a backend engineer who can design APIs, tune databases, and support production systems. Another may use the same title for a product engineer who works closely with design, analytics, and customer success. A third may focus on platform work, DevOps practices, or AI-enabled tooling.
Your CV should make the relevant version of you obvious.
Decide what kind of software engineer the advert needs
Before you rewrite anything, highlight the clues in the advert. Look for the required languages, frameworks, architecture patterns, cloud environment, testing approach, collaboration style, and product domain. Then decide what to bring forward.
For a backend-heavy role, your first page should show API design, data modelling, service reliability, integrations, queues, observability, and performance work. For a full-stack or product engineering role, bring together user outcomes, feature delivery, front-end collaboration, backend logic, experimentation, and cross-functional work. For a platform or senior engineering role, prioritise technical leadership, maintainability, standards, incident learning, mentoring, and architectural decisions.
This matters because a generic software engineer CV can look technically busy while still failing to answer the employer's main question: can this person do the work we actually have?
A practical first step is to write a one-line role target before editing the CV, such as:
- Backend software engineer focused on Laravel, APIs, PostgreSQL, AWS, and reliability.
- Product software engineer with TypeScript, React, experimentation, analytics, and customer-facing delivery.
- Senior software engineer leading service design, mentoring, delivery planning, and production quality.
- Junior software engineer with strong fundamentals, project evidence, testing habits, and fast learning.
That sentence does not have to appear in the final CV, but it gives every section a filter.
Write a profile that connects stack, scope, and outcome
The profile is not a mini cover letter. It is a quick technical positioning statement. In three to five lines, show what you build, which technologies you use most, what level you operate at, and what your work improves.
A weak profile says:
Motivated software engineer with experience in coding, teamwork, and problem solving. Looking for a challenging role where I can use my skills and grow.
That wording could belong to almost anyone. It does not tell the reader what you build, what stack you use, or why you are credible.
A sharper profile says:
Software engineer with 5 years of experience building Laravel, TypeScript, and AWS-based product systems for B2B SaaS teams. Strong record of improving API performance, adding test coverage, and turning product requirements into reliable features used by customer-facing teams.
That version gives the recruiter keywords and gives the technical reader context. It shows stack, environment, and impact without becoming crowded.
For a junior software engineer CV, focus on fundamentals and evidence rather than overclaiming seniority:
Junior software engineer with commercial internship and project experience using Python, JavaScript, React, SQL, and Git. Comfortable building tested features, debugging issues, writing clear documentation, and learning new codebases through pair programming and code review.
For a senior software engineer CV, the profile should show judgement and responsibility:
Senior software engineer with 9 years of experience designing maintainable services, mentoring engineers, and leading delivery across Laravel, TypeScript, PostgreSQL, AWS, and event-driven systems. Known for improving reliability, simplifying legacy code, and helping product teams make pragmatic technical decisions.
Notice that none of these examples depend on buzzwords. They use specific work, technologies, and outcomes.
Turn work experience into engineering evidence
The experience section carries most of the weight. A reader wants to know what problems you solved, how you contributed, and what changed because of your work. Duties are not enough on their own.
Instead of writing:
- Responsible for building APIs.
- Worked on frontend features.
- Fixed bugs and attended sprint meetings.
Turn the same experience into evidence:
- Built REST API endpoints for a self-service onboarding flow, reducing manual account setup requests by 31%.
- Reworked React form validation and error handling, cutting checkout support tickets by 18% over two release cycles.
- Fixed high-priority production defects, added regression tests, and documented release checks to reduce repeat incidents.
The stronger bullets have four useful ingredients: the work, the technology or context, the reason it mattered, and the result. Not every bullet needs a metric, but every bullet should have a point.
Use metrics where you have them: latency improvements, uptime, defect reduction, conversion, build time, deployment frequency, support volume, cost savings, delivery speed, user adoption, accessibility fixes, test coverage, or onboarding time. If you do not have exact numbers, use concrete scale instead: number of users, services, teams, integrations, markets, clients, repos, or release cycles.
For example:
- Migrated a legacy reporting job to queued background processing, allowing finance users to run month-end exports without browser timeouts.
- Added observability dashboards for payment failures, giving support and engineering one shared view during incidents.
- Created onboarding documentation and pairing tasks for new engineers, shortening the time needed to make a first production change.
These are still useful even without exact percentages because they show real engineering context.
Show technical depth without turning the CV into documentation
A software engineer CV should contain enough technical detail to be credible, but not so much that it becomes a design document. The reader does not need every package, endpoint, table, or deployment flag. They need to understand your level of ownership.
A good bullet might say:
- Designed a queue-backed notification service in Laravel using Redis, PostgreSQL, and feature flags, improving delivery reliability for customer reminders.
That tells the reader what you built, the core technologies, and the outcome. It does not drown them in implementation detail.
Use deeper technical detail where it proves a hiring requirement. If the role asks for distributed systems, event-driven architecture, cloud infrastructure, high-traffic APIs, or security-sensitive work, include examples that show those areas. If the role is more product-focused, do not hide the product outcome beneath layers of jargon.
A balanced Software Engineer CV usually includes examples across several areas:
- Feature delivery: user-facing or internal product improvements.
- Backend engineering: APIs, services, data models, integrations, queues, caching, or performance.
- Front-end collaboration: UI behaviour, component work, accessibility, analytics, or usability.
- Quality: tests, reviews, static analysis, documentation, monitoring, release checks, or incident follow-up.
- Product context: metrics, customer impact, internal team benefit, workflow improvement, or revenue support.
- Team contribution: mentoring, pairing, onboarding, technical planning, stakeholder communication, or design discussions.
You do not need all of these in every role. Choose the strongest evidence for the advert.
Make testing, review, and production habits visible
Many software engineer CVs focus heavily on features and ignore what happens after code is merged. That can make the candidate look like someone who ships quickly but leaves risk behind.
Employers value engineers who make delivery safer. Show how you test, review, monitor, support, document, and improve systems. This is especially important for mid-level and senior roles, where judgement matters as much as implementation speed.
Useful examples include:
- Increased feature test coverage around a billing workflow before a pricing migration.
- Introduced pull request templates that improved review consistency across a small product squad.
- Added health checks and alerts for a customer-facing API, reducing the time to identify failed integrations.
- Documented runbooks for support teams so recurring incidents could be handled faster.
- Refactored fragile legacy code behind feature flags to reduce release risk.
The 2025 Stack Overflow Developer Survey reported widespread use of AI tools by developers, but also clear caution around accuracy and complex tasks. That context reinforces a practical CV point: if you use AI-assisted coding, do not present it as a shortcut. Show verification, testing, security awareness, and ownership of the final code.
For example, you could write:
- Used AI-assisted tooling for draft test generation and codebase exploration, then validated outputs through review, regression tests, and production acceptance checks.
Only include AI tools when they are relevant to the role and honestly part of your workflow. The evidence should still be your judgement, not the tool.
Use projects to prove ownership and direction
Projects can be valuable, especially for junior software engineers, career changers, freelancers, and candidates moving into a new stack. They can also help experienced engineers show work that did not fit neatly into an employment bullet.
Choose projects that add something new. A project section is useful when it proves architecture decisions, product thinking, open-source contribution, testing discipline, documentation, deployment, or specialist technical knowledge. It is weaker when it repeats a tutorial with no context.
For each project, include:
- The problem or purpose.
- Your role and level of ownership.
- The stack and technical choices.
- The result, user benefit, learning, or evidence of quality.
- A live link or repository only if it is clean, current, and helpful.
A junior example:
- Built a job-tracking web app using React, Node, PostgreSQL, and Prisma, with authentication, saved searches, and unit tests for core application logic.
- Deployed the project on Render, wrote setup documentation, and used GitHub Issues to track bugs and planned improvements.
A mid-level or senior example:
- Led an internal developer platform refresh that standardised CI templates, local environment setup, and release checks across five services.
- Reduced average deployment time from 18 minutes to 7 minutes and improved onboarding for engineers joining the platform team.
Avoid weak portfolio links. A broken demo, empty README, or unmaintained GitHub repository can harm the application. If a link does not strengthen the reader's trust, leave it out or improve it before you apply.
Adapt your Software Engineer CV for junior and senior variants
Junior, mid-level, and senior software engineer CVs should not sound identical. They can share the same structure, but the evidence should change.
A Junior Software Engineer CV should show fundamentals, learning speed, and reliable habits. Recruiters will not expect a long list of commercial achievements, but they will look for signs that you can work in a team and keep improving. Use internships, apprenticeships, university projects, bootcamp projects, freelance work, open-source contributions, hackathons, or personal builds. Show Git, testing, code review, debugging, documentation, and willingness to learn.
Good junior bullets include:
- Built a React and Node project with authentication, form validation, and PostgreSQL storage, then added unit tests for core routes.
- Completed a software development apprenticeship placement, fixing small production defects and documenting repeat support tasks.
- Paired with senior engineers to understand a legacy codebase, then shipped a low-risk UI improvement through pull request review.
A mid-level Software Engineer CV should show independence. Focus on shipped work, ownership of features, sensible technical choices, collaboration, and measurable improvements. The reader should see that you can take a problem from discussion to release without constant hand-holding.
Good mid-level bullets include:
- Owned delivery of a new reporting module, covering API design, database changes, Vue components, tests, and release notes.
- Improved endpoint performance by introducing pagination, indexes, and query refactors after reviewing production traces.
- Worked with product and customer support to prioritise fixes that reduced repeat billing queries.
A Senior Software Engineer CV should show judgement, influence, and technical leadership. That does not mean every bullet has to be about management. It means the CV should show how your decisions improved teams, systems, delivery quality, or product outcomes.
Good senior bullets include:
- Led technical design for a service extraction project, balancing delivery risk, data migration constraints, and support requirements.
- Mentored four engineers through design reviews, pairing, and clearer standards for testing and observability.
- Simplified a legacy release process, reducing deployment risk and giving product teams more predictable release windows.
If your page is targeting UK roles, you can cover Software Engineer UK CV intent naturally through formatting, spelling, location details, UK education wording, and local application expectations rather than creating a separate page.
Format the CV for ATS and human readers
Software engineer CVs can become cluttered because there is so much to include. Keep the layout simple. Use standard headings such as Profile, Technical Skills, Experience, Projects, Education, Certifications, and Additional Information. Avoid tables, text boxes, graphics, heavy icons, or complex columns that might break in applicant tracking systems.
A good order for most candidates is:
- Name, contact details, location, portfolio or GitHub.
- Profile.
- Technical skills.
- Work experience.
- Selected projects.
- Education, certifications, and additional details.
Experienced candidates may put work experience before the skills section if their recent roles are very strong. Junior candidates may put projects above employment if projects carry the best evidence. The structure should serve the reader, not a fixed rule.
Keep bullets short. Start with the action, then add context and result. Use consistent dates. Avoid unexplained acronyms unless they are standard in the target role. Keep links clean and check that they work.
A one-page CV can work for a junior developer or a candidate with limited commercial experience. Two pages is usually reasonable for mid-level and senior engineers, especially if you need space for projects, technical leadership, certifications, and impact. Do not stretch a thin CV to two pages, and do not cram a strong senior CV into one page if it becomes unreadable.
Key skills for a Software Engineer CV
The skills section should help the reader scan your technical match quickly. It should not be a dumping ground for every language, library, package, database, testing tool, cloud service, operating system, and methodology you have ever seen.
Group skills by relevance. For example:
Languages and frameworks
- PHP, Laravel, JavaScript, TypeScript, Python, Java, C#, Ruby, Go, or another language that matches your background.
- React, Vue, Angular, Node.js, Express, Django, Rails, Spring, .NET, or similar frameworks where relevant.
Backend and data
- REST APIs, GraphQL, authentication, authorisation, queues, caching, integrations, event-driven systems, SQL, PostgreSQL, MySQL, Redis, Elasticsearch, or data modelling.
Cloud, DevOps, and delivery
- AWS, Azure, Google Cloud, Docker, CI/CD, GitHub Actions, GitLab CI, Terraform, monitoring, logging, incident response, release planning, and deployment workflows.
Quality and security
- Unit testing, integration testing, end-to-end testing, code review, static analysis, secure coding, dependency management, accessibility, performance, and documentation.
Working strengths
- Problem solving, technical communication, product thinking, stakeholder collaboration, mentoring, code review, prioritisation, debugging, pair programming, and ownership.
Put the most relevant skills first. If the advert asks for Laravel, Vue, PostgreSQL, AWS, and test automation, do not bury those below less relevant tools. If you are applying for a Python data platform role, a Laravel-heavy skills list will not help unless Laravel is genuinely part of the target role.
Be honest about depth. A hiring manager can usually tell when a candidate has listed tools they cannot explain. It is better to show confident experience in a focused stack than to list twenty technologies with no proof in the experience section.
Role-specific skills
Common mistakes to avoid on a Software Engineer CV
Listing too many technologies
A long skills list can make your CV look unfocused. Keep the tools that match your current level and target role. If a technology does not appear in your work experience, projects, or education, ask whether it belongs on the page.
Writing only task-based bullets
Task lists make your experience look passive. “Worked on APIs” is less useful than “built API endpoints that reduced manual account setup requests”. Add the problem, context, or result wherever possible.
Hiding product or user impact
Software engineering is not only about code. If your work improved onboarding, reporting, conversion, support workflows, reliability, accessibility, or team productivity, make that visible.
Ignoring testing and maintainability
A CV that only says you ship features can feel risky. Include evidence of tests, reviews, documentation, monitoring, incident learning, refactoring, or release discipline.
Making junior and senior versions sound the same
A junior CV should show potential and fundamentals. A senior CV should show judgement, influence, system ownership, and team impact. If the wording does not change with seniority, the CV will feel generic.
Overusing vague personal qualities
Avoid relying on unsupported words such as motivated, passionate, dynamic, or hard-working. Replace them with evidence. Show the release you supported, the defect you fixed, the team you helped, or the system you improved.
Linking to weak portfolio work
Only link to GitHub, a portfolio, or a live demo if it helps. A broken project, messy README, or abandoned repository can create doubt. Curate links carefully.
Forgetting UK formatting details
For UK applications, use “CV” rather than “resume”, keep spelling consistent, use UK education wording, include location in a sensible way, and avoid personal details such as date of birth, marital status, or a photo unless an employer specifically asks for something unusual.
Final checklist before you send your Software Engineer CV
Use this checklist after you have tailored the CV to a specific role:
Why this matters
Keep the evidence specific
If either of the final two answers is no, simplify the page. Move the strongest evidence higher, remove weaker tools, and make the first role or project do more work.
-
1
Does the first half page make your role level, main stack, and engineering focus clear?
-
2
Does your profile connect technologies to product, system, or team outcomes?
-
3
Have you moved the most relevant languages and frameworks near the top?
-
4
Are your experience bullets achievement-led rather than duty-led?
-
5
Have you included testing, review, debugging, documentation, or production support evidence?
-
6
Do your projects add proof rather than repeat your employment history?
-
7
Have you removed tools you cannot confidently discuss in an interview?
-
8
Does the CV show the right balance for backend, full-stack, platform, product, or senior engineering roles?
-
9
Have you adapted junior or senior positioning rather than using one generic version?
-
10
Are dates, job titles, education details, and links accurate?
-
11
Is the layout readable without tables, heavy graphics, or complex formatting?
-
12
Have you checked that internal application links, GitHub repositories, portfolio pages, and demos work?
-
13
Could a recruiter understand your fit in 30 seconds?
-
14
Could an engineering manager see credible technical judgement within two minutes?
Software Engineer CV FAQs
What should a Software Engineer CV include? Open
Include a concise profile, technical skills, recent work experience, measurable achievements, selected projects, education, certifications, and relevant links. Your experience section should show how you build, test, review, release, and maintain software, not just which technologies you know.
How long should a Software Engineer CV be? Open
One page can work for junior candidates or developers with limited commercial experience. Two pages is usually appropriate for mid-level and senior engineers if the extra space is used for relevant achievements, projects, technical leadership, and evidence. Do not add filler to reach two pages.
What skills should I put on a Software Engineer CV? Open
Prioritise the skills that match the advert and your strongest evidence. Common areas include programming languages, frameworks, APIs, databases, cloud tools, testing, Git, CI/CD, monitoring, debugging, secure coding, documentation, and collaboration. Do not list tools you cannot explain.
Should I include GitHub or portfolio links? Open
Yes, if they strengthen the application. A clean portfolio, relevant repository, live demo, or technical write-up can help, especially for junior candidates and career changers. Check that the link works, the README is clear, and the project reflects your current standard.
How do I write a Junior Software Engineer CV with little experience? Open
Use internships, apprenticeships, coursework, bootcamp projects, open-source contributions, freelance tasks, or personal projects. Focus on fundamentals, Git, testing, debugging, documentation, and willingness to learn. Show how you approached the work, not just the fact that you completed a tutorial.
What changes for a Senior Software Engineer CV? Open
A senior CV should show judgement, ownership, mentoring, architecture decisions, system quality, incident learning, stakeholder communication, and team impact. Metrics help, but so does clear evidence that you can make good trade-offs and support other engineers.
Should I mention AI tools on my Software Engineer CV? Open
Mention AI tools only when they are relevant and honestly part of your workflow. Make the evidence about how you used judgement, verification, testing, and review. Avoid making AI sound like a replacement for engineering accountability.
How do I make a Software Engineer CV ATS-friendly? Open
Use standard headings, plain text, readable bullets, consistent dates, and keywords from the advert where they accurately match your experience. Avoid tables, graphics, unusual icons, and over-designed layouts that can make parsing harder.
Build your Software Engineer CV from this example
Open the example in Modern CV, replace Maya Patel's stack and delivery outcomes with your own evidence, and tailor the first half page around the role you are applying for. Keep the design simple, make the technical proof easy to scan, and use the final checklist before you export or share your CV.