How to write a software engineer CV
Write the CV for one advert. A hiring manager may never open the repository, so the page has to say what you built, what you tested, and what you decided not to ship.
The finished example is Riley Adeyemi, the same fictional engineer as the software CV example. The employers and the performance story are invented.
1. Set the structure
Use a CV, not the American name for it. No photo, no date of birth, selectable text, reverse chronological order. One page if you are junior. Two pages once the work needs it.
A useful order is: contact line, personal statement, skills, experience, projects, education. Put education above experience only if you are a new graduate and the degree is the main evidence.
2. Write a statement that says what you ship
Four to six lines. Name the kind of team, the stack you can use next week, and one habit: tests, review, or writing down a decision. “Passionate about technology” fits every applicant and none of them.
3. Group the skills
Languages on one line, data on another, and the way you work on a third: tests, review, release. Put the skills this advert names first.
Do not list a tool you only met in a tutorial. Do not add a language because the filter might like it.
4. Turn work into impact bullets
Each bullet needs an action, the technology that mattered, and a result you can explain. A result can be a failing test that now passes, a page that no longer calls the database once per row, or a feature you cut after writing down the new failure mode.
Latency, uptime and user counts belong on the CV only when you know how they were measured. A story you cannot walk through is worse than a plain description of the change.
Before and after
Same kind of work, clearer wording. The after lines are models.
Before
Worked on the backend and helped improve performance.
After
Replaced a per-row database call with one indexed query, and wrote the before-and-after in the pull request.
Before
Passionate developer experienced in many technologies.
After
Ship small TypeScript and SQL changes with tests. Looking for a team where code review is normal.
5. Add projects carefully
One or two projects. State the problem, your part, and how to run the tests. A link that 404s, or a private repository the reader cannot open, is not proof.
If the work was for an employer and you cannot share the code, describe your part without pasting private screenshots or customer data.
6. Tailor it to this advert
Mark the must-haves. Move the matching bullets up. If the advert is heavy on testing and your best example is a refund test, that bullet should not be the fourth line of the oldest job.
If they ask for a language you do not have, do not add it. You can say what you do have in the statement, and leave the gap visible.
Checklist
- The document is a CV, with no photo or date of birth.
- The statement names the work, not a personality.
- Every skill has a bullet or a project behind it.
- Each experience bullet has an action and a result you can explain.
- Dates and job titles are in order.
- A link on the page opens, and the README says how to run it.
- Keywords you cannot defend have been removed.
- The file name includes your name and the role.
A finished example
Riley Adeyemi is fictional. example.com is not a real portfolio.
Riley Adeyemi
Leeds · 07700 900246 · riley.adeyemi@example.com
Eligible to work in the UK · example.com/riley-adeyemi (sample link, not a real site)
Personal statement
Software engineer who ships small, tested changes to customer-facing systems. Comfortable in TypeScript and SQL, and used to saying what I decided not to build. Looking for a product team where code review is normal and a production bug has an owner.
Experience
Software engineer
Paperkite (fictional product company) · March 2023 – present
- Built the order-history page in TypeScript and React. A fictional before-and-after: the page was doing one database call per row; one indexed query brought a slow render down to something a customer would wait for.
- Added a regression test after a refund could be applied twice. The test failed on the old code and passed once the second write was rejected.
- Wrote the short design note for a feature we dropped: it would have saved a click and cost a new failure mode in payments.
- Take a weekly support rotation, and turn repeat tickets into a bug with steps, not a Slack thread.
Junior developer
Holt & Grey (fictional studio) · July 2021 – February 2023
- Implemented REST endpoints in Python for a client roster, with tests around the empty-list and duplicate-email cases.
- Acted on review comments instead of defending the first draft. One comment stopped us storing a date as a string.
- Paired with a designer to name the error states a user actually sees when a save fails.
Project
Shift roster (sample project)
A small web app that warns when two people are on leave on the same day. The link on this page is example.com and does not resolve to a real repository.
- Modelled swaps as a request, not a silent edit, so there is a record of who agreed.
- Documented how to run the tests in the README. If a stranger cannot run it, it does not belong on the CV.
Education
- BSc (Hons) Computer Science, 2021. The university is left off this sample on purpose. On your CV, name it.
Skills
- TypeScript, JavaScript and Python
- SQL and PostgreSQL
- React
- Automated tests and code review
- REST APIs and debugging production errors
- Git and a simple continuous-integration check
Use it on your own CV
FAQ
What sections does a software engineer CV need?
Contact details, a short statement, grouped skills, experience, and projects if they add proof. Education can sit last once you have a few years of work.
How do I write a bullet if I cannot share the code?
Describe the problem, your part and the result without private data or a screenshot of a customer. A test you added or a decision you wrote down is enough.
Should I list every language I have tried?
No. List what you could use next week without a tutorial open. A long list hides the skills the advert asked for.
Do UK engineering CVs need a photo?
No. Leave off a photo and your date of birth. City, email, phone and a link you control are enough.
Free job-ready CV checklist
A one-page checklist for any role, plus a weekly jobs email. No name, and no account.