Computer science CV guide

Computer science CV: show what you have built, not just what you know

A guide for UK computer science students and graduates applying for software engineering roles, internships and graduate schemes: projects with a clear stack, grouped skills, your final-year project and a GitHub that backs it up.

  • See the result before you pay
  • From £5.99 · one-time payment
  • PDF and Word
Example · Computer science

Same person. Same experience. A completely different result.

On the left: the CV most people send. On the right: the same experience rewritten with a clear title, results in numbers and the terms recruiters search for.

Before — hard to search
ATS 51
Zara Ahmed
Computer Science student
Personal profile
Passionate programmer who loves technology and solving problems. Quick learner looking for a software job where I can grow.
Experience
Software developer2024-2025
  • Worked on the company's app
  • Fixed bugs
  • Attended stand-ups
ProjectsUni
  • Made a website using React
  • Final year project on route planning
Key skills
Java ★★★★, Python ★★★★, C ★★★, JavaScript ★★★, React, HTML, CSS, SQL, Git, Linux, Docker, AWS, Microsoft Office, problem solving
Generic title, personality words and “responsible for”. No numbers, no keywords: invisible in automated CV searches.
After — ready for the recruiter
ATS 87
Zara Ahmed
Final-year Computer Science student, graduate software engineer applicant
Personal profile
Final-year BSc (Hons) Computer Science student (predicted First) with a 12-month placement as a software developer, applying for graduate software engineering roles. Builds back-end services in Java and Spring Boot and front ends in React and TypeScript, with experience of Agile teams, code review and automated testing.
Experience
Software Developer (placement year), logistics software company, CoventryJul 2024 – Jul 2025
  • Built a delivery-slot booking feature for a customer web app in Java (Spring Boot) and React, released to production after code review and QA
  • Wrote JUnit and integration tests for a legacy billing service, so changes could be checked automatically before each release
  • Worked in two-week Scrum sprints with a team of six, taking part in planning, stand-ups and pull request reviews
Final-year project: route planner for delivery driversSep 2025 – present
  • Designing a route-planning tool in Python using a graph-based shortest-path algorithm and open map data, with a React front end
  • Evaluating routes against a baseline on a set of real delivery schedules supplied by a local courier
Winner, Accessibility Category, university hackathonFeb 2024
  • Built a bus-arrival app with screen-reader support in TypeScript and React Native in 24 hours, in a team of four
Key skills
Languages: Java, Python, TypeScript, JavaScript, SQL. Frameworks: Spring Boot, React, Node.js, JUnit, pytest. Tools: Git, GitHub Actions, Docker, Linux, AWS (EC2, S3). Databases: PostgreSQL, MongoDB. Practices: REST API design, unit testing, Agile/Scrum, code review
What matters is caught in 6 seconds
Sharp positioning, results in numbers and industry keywords taken from real job adverts. Readable in 6 seconds.

This example was made to show the difference. Your CV is rewritten from the experience you actually have, and you see the result before you pay.

Get my CV rewritten

What a computer science CV has to prove

A computer science CV is read by two kinds of people, often in the same week. First, a recruiter or talent acquisition partner who may not write code, checking that you have the right degree, the right languages and enough evidence to put you forward. Then an engineer or engineering manager, who skims the same page looking for signs that you have built real things and understand what you built.

Your CV has to work for both. The recruiter needs clear, searchable terms: "Python", "Java", "REST APIs", "SQL", "Git", written the way the job advert writes them. The engineer needs specifics: what the project does, which technologies you chose, what problem you hit and how you solved it. A CV that says "Proficient in multiple programming languages" fails both readers. A CV with a dense skills list and no projects satisfies the first and loses the second.

This guide covers how to structure a CV for software engineering, data and other technical graduate roles, internships and placements in the UK: how to write projects so they show real engineering, how to group technical skills, what to do with your final-year project, modules, placements and hackathons, and how to link to your code without relying on it.

The structure that works for technical roles

Keep to the standard UK CV length: one page if you are in first or second year, two pages at most as a finalist or graduate. Use a single-column layout with clear headings, because larger tech employers and graduate schemes often take applications through an online system that reads your CV as text. Our ATS-friendly CV guide explains why columns, icons and skill bars cause problems.

A good order for a computer science student is:

  1. Name and links: phone, email, town or city, then a GitHub URL and a LinkedIn URL. Add a personal site only if it shows your work.
  2. Personal profile: two or three lines naming your degree, the role you want and the areas you have worked in.
  3. Education: degree, classification or predicted grade, relevant modules and your final-year project.
  4. Technical skills: grouped by type (more on this below).
  5. Experience: placements, internships and relevant part-time work.
  6. Projects: three or four of your best, each with a stack and a result.
  7. Achievements and activities: hackathons, competitions, open-source contributions, society roles, teaching assistant or tutoring work.

If you have no placement or internship yet, move Projects above Experience. For many first and second-year students, projects are the strongest evidence on the page, and there is no rule that paid work has to come first.

Projects: write them like small pieces of professional work

Projects are where most computer science CVs are won or lost. Each one should answer four questions in two or three lines: what is it, what did you build it with, what was hard about it, and what is the result?

Give each project a heading line with the name, the stack and a link: "Room booking app | React, TypeScript, Node.js, PostgreSQL | github.com/yourname/room-booking". Then write bullets that describe engineering decisions rather than features.

  • Weak: "Made a website using React."
  • Strong: "Built a room booking web app for a student society in React and TypeScript with a Node.js and PostgreSQL back end, used by its committee to manage weekly bookings."
  • Weak: "Worked on a machine learning project."
  • Strong: "Trained and compared three classifiers in Python (scikit-learn) on a public dataset of 50,000 product reviews, and wrote up why the simplest model performed best after feature engineering."
  • Weak: "Used Git and testing."
  • Strong: "Set up GitHub Actions to run unit tests with pytest on every pull request, which caught two regressions before they were merged."

Choose projects that show range and depth rather than many tutorial clones. A to-do list app built by following a video shows little; the same app with authentication, a database, tests and deployment shows a lot. If a project has real users, say so. If you deployed it, say where it runs. If you worked in a team, say what your part was.

It is fine to include coursework projects, especially group software engineering projects, because they often involve requirements, version control, code review and a client or supervisor. Describe your own contribution precisely: "Wrote the API layer and integration tests in a four-person team" is better than "Team project to build an app".

Grouping your technical skills

A long, unsorted list of every technology you have touched is hard to read and invites awkward interview questions. Group your skills so a recruiter can scan for keywords and an engineer can see your strengths at a glance:

  • Languages: Python, Java, TypeScript, JavaScript, C, SQL
  • Frameworks and libraries: React, Node.js, Express, Spring Boot, pandas, scikit-learn
  • Tools and platforms: Git, GitHub Actions, Docker, Linux, AWS (EC2, S3)
  • Databases: PostgreSQL, MySQL, MongoDB
  • Practices: unit testing, REST API design, Agile and Scrum, code review

Put your strongest items first in each group. Leave out anything you could not discuss in a technical interview, and drop basics that every applicant has, such as Microsoft Word. Skill bars and percentage ratings mean nothing to a reader and are invisible to application systems, so use plain text only. If you want to signal level, a short note works: "Python (three years, placement and dissertation)".

Match the advert's wording where it is honest. If the job asks for "JavaScript" and you write in TypeScript, list both. If it says "cloud", and you have deployed to AWS, write "AWS" and mention cloud deployment in the relevant bullet. Check your keyword coverage with our free ATS CV checker by pasting the advert in alongside your CV.

Final-year project, dissertation and modules

Your final-year project or dissertation is often the largest single piece of technical work you have done, so treat it like a project entry, not a line in your education section. Give it a title, the stack or methods and two bullets on what you built and found.

  • Weak: "Dissertation on computer vision."
  • Strong: "Final-year project: real-time detection of empty parking spaces from CCTV images, using Python, OpenCV and a fine-tuned convolutional neural network; evaluated against a hand-labelled test set of 2,000 images."

If your project is still in progress when you apply, which it usually is for autumn applications, describe the plan and what you have done so far: "Final-year project (in progress): designing a ..." is honest and perfectly normal.

Modules belong under your degree on one or two lines. Choose four to six that match the role: Algorithms and Data Structures, Operating Systems, Databases, Software Engineering, Machine Learning, Computer Networks, Security. Add a mark next to a module only if it is strong and the employer is likely to care. Include your classification or predicted grade on the degree line, as many graduate software roles at larger employers set a minimum.

If you came to computer science from another subject, or you studied a related degree such as mathematics, physics or electronic engineering, name the modules and projects that show programming and computing knowledge, and let your projects carry the rest.

Placements, internships and hackathons

A placement year or summer internship in a software team is valuable because it shows you have worked on a real codebase with other engineers. Write it up with the same specificity as a project:

  • Weak: "Software developer placement. Worked on the company's app."
  • Strong: "Added filtering and CSV export to an internal reporting dashboard in Angular and C# (.NET), working in two-week sprints with a team of five and code review on every pull request."
  • Strong: "Migrated three scheduled data jobs from a single server to containers with Docker, documenting the new deployment steps for the team."

Mention the methods the team used, such as Agile, Scrum, pull requests, CI/CD, on-call or production monitoring, because they show you know how software is built in practice. If you cannot name a client or product for confidentiality reasons, describe the type of system instead: "an internal reporting tool used by the finance team". For more on structuring a sandwich year, see our placement year CV guide.

Hackathons, coding competitions and game jams deserve their own lines. They show you can work fast under pressure and in a team, and they often produce a demo you can link to.

  • Weak: "Took part in a hackathon."
  • Strong: "Built a bus-arrival accessibility app with screen-reader support in 24 hours at a university hackathon, in a team of four; won the accessibility category."

Open-source contributions, a teaching assistant role in a programming module, running a coding society workshop or tutoring school pupils in Python also count. Non-technical part-time work can stay too, in one or two lines, to show reliability and communication.

GitHub, portfolios and online assessments

Put your GitHub link at the top of the page, next to your email, and make sure what it shows helps you. Before you apply, pin your three to six best repositories, add a short README to each explaining what it does, how to run it and what you learned, and remove or archive unfinished experiments that might confuse a reader. A tidy profile with a few well-documented projects is more persuasive than hundreds of commits to forks.

Do not rely on the link alone. Many recruiters will not click it, and application systems cannot read what is behind it. Everything important about a project should be on the CV itself: the stack, your role and the result.

Many technical graduate roles include online coding assessments or technical interviews after the CV stage. Your CV feeds into those conversations, so expect to be asked about any project or technology you list. Pick projects you can explain in depth, including what you would do differently now.

Before and after: a computer science graduate CV

Zara Ahmed is a fictional final-year Computer Science student in Birmingham who spent a placement year as a software developer at a logistics software company. Her first CV opened with "Passionate programmer who loves technology", listed fourteen languages and frameworks in one line with star ratings next to them, described her placement as "Software developer, worked on the company's app" and mentioned her final-year project only by title. Her GitHub link was in the page footer, and the hackathon she had won was missing altogether.

The new version names her degree, predicted First and the graduate software engineering roles she is targeting in the personal profile. Her skills are grouped into languages, frameworks, tools and databases, with nothing she could not discuss in an interview. The placement now explains the feature she shipped, the stack and the team practices she worked within. Her final-year project, a route-planning tool for delivery drivers, gets its own entry with the stack and evaluation method, and the hackathon win appears under achievements. Her GitHub link moved to the contact line.

None of the content was new; it had just been hidden behind general phrases. Checked against a graduate software engineer advert, the indicative score rose from 51 to 87.

Check it and tailor it for each application

Technical adverts vary a lot. One graduate role wants Java and Spring, another wants Python and data pipelines, another wants front-end work in React. Keep a master CV with every project and skill, then for each application reorder your projects so the most relevant one comes first, adjust your skills groups to the advert's wording and update the personal profile to name the role.

Before you submit, run your CV through our free ATS CV checker with the advert pasted in. It reads your file in your browser, checks the format, contact details, sections and skills, and compares your keywords with the advert so you can see which required technologies are missing from your CV.

If you want help with the rewrite, StudentCV can tailor your CV to a specific technical role. Upload your current CV or LinkedIn profile, or type it in, and paste the advert. You can see and edit the whole CV free, and pay only if you want to download it as a PDF or Word file. Applying for graduate schemes outside tech too? Our graduate CV guide covers application windows and competencies.

How it works

Upload. We fix it. Download and apply.

No waiting. No meetings. No back-and-forth. You give us your profile, and we give you back a version recruiters actually read.

  1. 1Upload

    Give us something to work with, whatever you have.

    Upload your current CV (PDF or Word), import your LinkedIn profile, or fill in a short form. Takes under 2 minutes.

    Under 2 minutes
  2. 2We analyse

    Our engine optimises for recruiters and ATS.

    Built on real HR expertise and hiring practice, it rewrites your content, adds the right keywords and structures everything so you stand out.

    Automatic analysis
  3. 3Download

    Ready in minutes, not days.

    Download your CV as PDF and Word, plus LinkedIn text you can paste straight in. Packages with a cover letter include that too, tailored to the job.

    Under 5 minutes total
Packages and pricing

Pick the package that fits.

Every package is generated automatically in under 5 minutes, built on real recruiter expertise.

CV
One CV, rewritten and tailored to a job.
£5.99
  • Your CV rewritten by AI
  • Tailored to one job advert
  • ATS score against the advert's requirements
  • Edit freely · PDF and Word
  • LinkedIn profile
  • Cover letter
Preview my CV
One-time payment · GBP · VAT included
CV + LinkedIn
A CV and LinkedIn that tell the same story.
£9.99
  • Everything in CV
  • LinkedIn headline, About section and experience
  • Written for the roles you want to be found for
  • Edit freely before you paste it in
  • Cover letter
Get CV + LinkedIn
One-time payment · GBP · VAT included
Job Search Pack
For when you're applying to several jobs.
£12.99
  • Everything in CV + LinkedIn
  • 5 applications: a tailored CV + cover letter each
  • Use them as you find the jobs
  • Edit freely · PDF and Word
Start my job search
One-time payment · GBP · VAT included
Questions and answers

What you're wondering before you start.

Should a computer science CV include a GitHub link?+
Yes, put it on the contact line next to your email. Pin your best repositories and add a README to each first. Do not rely on the link alone, though, because many recruiters will not open it and the key details belong on the CV.
How many projects should I put on my computer science CV?+
Three or four well-described projects usually work best. Choose ones that show range and depth, such as a full-stack app, a data or machine learning project and a team project, and describe the stack, your role and the result for each.
Should projects go above work experience?+
If you have no placement or internship yet, yes. For many first and second-year students, projects are the strongest evidence of ability. Once you have relevant work experience, put that first and keep your best projects directly beneath it.
How should I list programming languages and technical skills?+
Group them into categories such as languages, frameworks and libraries, tools and platforms, databases and practices. Put your strongest items first, use the advert's spelling, and avoid skill bars or percentage ratings, which carry no meaning and cannot be read by application systems.
Do I need to include my degree classification for software engineering roles?+
Yes. Many graduate software roles at larger employers set a minimum classification, often a 2:1, so put your achieved or predicted grade on the degree line. Smaller companies may care more about projects, but the information still helps.
Can I include coursework and group projects on my CV?+
Yes. Group software engineering projects often involve requirements, version control, code review and a client or supervisor, which is exactly what employers want to see. Be precise about your own contribution, for example the API layer you wrote or the tests you added.
Is a computer science CV different for a data science or AI role?+
The structure is the same, but the emphasis shifts. Lead with projects involving data cleaning, modelling and evaluation, list libraries such as pandas and scikit-learn, mention relevant statistics or machine learning modules and explain how you measured a model's performance.
How does StudentCV help with a computer science CV?+
Upload your current CV or LinkedIn profile, or type it in, and paste the job advert. StudentCV rewrites and tailors your CV to that technical role, shows an ATS score against the advert and lets you edit the whole CV free before you pay to download it.
More templates

More CV templates

One generic CV fits no one. Pick the template that matches your field.

Ready to start?

Upload once. Get a CV that actually opens doors.

Five minutes from now you could have a recruiter-ready CV and LinkedIn profile, ready to send. No waiting, no meetings.