1. The opening block: your five-second window
Recruiters skim rather than read — at least on the first pass. During a heavy hiring cycle, an experienced recruiter can work through dozens of CVs in a single hour, which means the top of your document has about five seconds to earn the next thirty.
The header area of your CV must convey three things immediately: your name, your role, and your contact details. Everything below can be layered and nuanced, but the header has one purpose, and that purpose is to make someone pause before scrolling past.
Put your role front and centre
Don't leave room for guesswork. Directly beneath your name, write something like Senior Angular Developer or Mid-level Frontend Engineer (React/Angular). Technology plus seniority level — nothing more.
A generic label such as "Software Developer" or simply your name at the top forces the reader to hunt for context, and they may decide it isn't worth the effort.
This may sound straightforward, yet it remains one of the most frequent points of failure. Double-check that:
- Your phone number is current. Not the one you used a few roles ago.
- Your email address looks professional. A Gmail address works well, and is often more reliable than smaller regional providers.
- Both are easy to spot, not tucked away below a long introductory paragraph.
Location: city only, plus your work preference
Forget the full postal address. Just the city where you're based, along with whether you're open to hybrid or fully remote arrangements. A line such as Warsaw, open to hybrid or fully remote gives a recruiter all the geographic details they need.
List all three profiles if you have them, but only when they're actually maintained. A GitHub that hasn't seen a commit in two years, or a LinkedIn profile still showing a 2019 job as your current position, hurts more than it helps. Before you send anything, make sure your online profiles match each other and the CV itself.
2. Keep the bio section to 2 or 3 sentences
A brief professional summary near the top of the CV is a good idea. Not because recruiters read it first, but because it sets the tone for everything that follows. Treat it like the executive summary of a report: it doesn't contain the full story, but it prepares the reader for it.
Aim for two or three sentences maximum. Describe what you do, how long you've been doing it, and what makes your background interesting. Skip overused phrases like "passionate developer who loves clean code," because every application says something similar. Instead, be concrete and mention the types of projects you've handled, their scale, and the environment.
"Frontend developer with 6 years of experience building large-scale Angular applications in fintech. Focused on performance and team collaboration, with experience leading front-end squads of 4 to 8 developers."
What about photos? They aren't required, and leaving one out is completely acceptable. If you do add a photo, make it a clear and professional headshot — not a holiday snapshot, not a group photo with someone cropped out, and not an old picture that no longer resembles you.
3. Tailor your CV to each role
Using the exact same CV for every job posting is the most common error among experienced developers. It's also the easiest one to correct.
Recruiters and hiring managers invest time in crafting the job description. They've specified the tech stack, the responsibilities, and the seniority. When your CV echoes their language and priorities, it reads as a natural fit — before your actual experience is even considered. When it doesn't, it comes across as generic, even if you'd be an excellent hire.
Before each application, go back and reread the job description. Note the technologies they emphasise most. Make sure those appear early in your CV, ideally within the first half of the page. You're not inventing anything; you're simply bringing the most relevant details to the foreground.
From the recruiter's desk
When two candidates have similar experience, the one whose CV is clearly written for this specific role almost always advances first. It signals both attention to detail and genuine interest.
4. Make work experience the centrepiece
For mid-level and senior developers, work experience is the main event. Everything else is supporting material. When a recruiter reviews a senior profile, they aren't looking for potential; they're looking for proof.
What have you built, improved, or directed? What was the scale? Who made up the team? The experience section is where those details belong, and if it doesn't deliver them clearly and quickly, no amount of polish elsewhere will rescue the application.
Always list your roles from most recent to oldest.
Describe impact, not just duties
The most frequent weakness in developer CVs is describing what the project was, without stating what you personally did and what outcome resulted.
Consider two ways of presenting the same position:
| Avoid Weak version | Do this Strong version |
| Worked on a banking app using Angular and REST APIs. | Led front-end development for a mobile banking app serving 400k+ active users. Refactored the transaction module, reducing load time by 40%. Team of 6 developers. |
| Responsible for UI components and code reviews. | Owned the design system library used across 3 product teams. Introduced component documentation that cut onboarding time for new devs from 3 days to under a day. |
| Participated in agile ceremonies and sprint planning. | Facilitated sprint retrospectives and collaborated with product and design to reduce the average bug cycle from 5 days to 2. |
In short, for each role, try to show:
- the project's scale or industry,
- your specific role,
- the size of the team or the context,
- whenever possible, a concrete result.
Explain short employment stints directly
If you've moved between jobs frequently over a short span, a recruiter will take notice. When those moves came from things outside your control — a company going under, mass layoffs, an acquisition — mention it briefly.
A short note like (company closed, 2023) or (restructuring, team dissolved) beside the dated role prevents you from being unfairly pigeonholed.
Recruiters are people too; context makes a difference.
5. Personal projects: pick quality over quantity
Side projects and open-source work can genuinely boost a developer CV, but their purpose is to support professional experience, not take its place. When a recruiter sees a clearly explained side project, they get a look at how you operate when nobody gives you a ticket, which problems you opt to solve, what stack you instinctively pick, and how far you push something before you call it finished.
That's a meaningful signal. A list of twelve repo names without any explanation is not.
For mid-level and senior candidates, keep this part brief. One or two properly described projects beat a catalogue of eight repositories every time. If a project never got finished, or the repository is just a readme with nothing else, skip it. An incomplete project listed without a word invites more questions than it answers.
For every project you decide to include, state what it does, which technologies it uses, and any noticeable metric or outcome — users, stars, running in production. A link to the live site or the GitHub repository is non-negotiable; otherwise there's no way to click through and confirm.
A project you can point to counts for ten you can only describe.
6. Technical skills: where most CVs go off track
This section tends to be either far too thin ("JavaScript, React, Node") or so crammed it turns into background noise ("HTML5, CSS3, Flexbox, Bootstrap, jQuery, Angular 2, Angular 4, Angular…"). Neither approach does you any favours. The sparse version tells a recruiter next to nothing and leaves them to estimate your true depth.
And when the packed list implies expert status for every single item, seasoned technical recruiters will read it as either naive or dishonest — and they'll spot it right away.
The objective isn't to list every technology you've ever touched. The objective is to paint an honest, structured picture of where you're genuinely strong, where you're solid, and where you've got working knowledge.
That kind of honesty isn't a liability; it's precisely what a hiring team needs to judge fit quickly and accurately.
Sort skills into categories
Rather than one long list, split your skills into obvious groups. This keeps things easy to scan:
| Category | Example entries |
| Frontend | Angular (expert), React (proficient), TypeScript (expert), RxJS (advanced) |
| Backend | Node.js (proficient), NestJS (proficient), REST / GraphQL |
| Databases | PostgreSQL (proficient), MongoDB (familiar) |
| Tools and infrastructure | Git, Docker, CI/CD (GitHub Actions, Jenkins), AWS (S3, CloudFront) |
| Testing | Jest, Cypress, Testing Library |
Be straightforward about your level, and get specific
Add a clear proficiency level to each skill. Labels like expert / advanced / proficient / familiar work nicely. Or tie it to years of experience: Angular, 5 years, expert. Whichever format you choose, stay consistent and truthful.
Saying you're an expert in something you touched once for a short tutorial is among the surest ways to lose credibility in a technical interview.
7. Soft skills, languages, and education
These three areas often get the least thought during CV preparation, and it tends to show. Most developers treat them as boxes to tick at the bottom of the page — a couple of buzzwords, a language or two noted as "fluent," and a degree that occupies more space than necessary.
Handled carelessly, this part becomes pure noise. Handled thoughtfully, it adds a degree of credibility and character that technical facts alone can't offer.
Here's the right way to approach each one.
Soft skills
Give this section a short, deliberate mention rather than three bullets of meaningless phrases. For senior developers especially, the soft skills worth highlighting are the ones that set you apart as a senior: leading code reviews, mentoring junior colleagues, interfacing directly with clients or stakeholders, producing technical documentation. These carry more weight than "good communicator" or "team player."
Languages
For each language, provide a realistic proficiency rating. If your written and spoken English are noticeably different, you can separate them: English written: C1, spoken: B2. Stick to recognised frameworks (A1–C2, CEFR) instead of vague labels like "conversational" or "advanced."
Education
Keep it brief: degree title, institution, year completed. That's all you need, unless the role specifically asks for academic qualifications.
8. The sections most developers skip (but shouldn’t)
Certain parts of a CV tend to get rushed or omitted entirely, not because they are irrelevant, but because they feel like an afterthought. That assumption is costly. These sections won’t rescue a weak application, but they frequently tip the scales between two equally qualified candidates.
By the time a recruiter has spent three minutes with your experience and skills, they’re either seeking confirmation to proceed or looking for a reason to stop. Give them the former.
Recommendations
If a former employer or client has written you a recommendation—even a brief one—include it or link to it. A credible recommendation from a named individual outweighs any self-authored description you could craft. Even a LinkedIn reference is worth citing.
Interests
This one often surprises people, but a concise interests section is received favourably by many hiring managers. Specificity is what matters. “Films” tells a recruiter nothing. “Independent cinema and documentary filmmaking” provides a natural conversation starter and shows you think in terms of depth over breadth.
The same logic applies to any interest: “running” becomes “trail running (currently training for a 50k).” Limit yourself to two or three items. And ensure they’re genuine—this section tends to surface in interviews.
GDPR clause
Required for CVs sent within the EU. Include a data processing consent statement at the end of your CV; without it, a company is technically not permitted to store your personal data. A standard clause runs to one or two sentences and takes thirty seconds to append.
9. Keep the right format and file hygiene
Content earns the interview, but format earns the read. A poorly structured PDF or a layout that renders incorrectly on a recruiter’s screen can undo weeks of careful drafting in seconds.
None of the points below are difficult to execute, which makes it all the more frustrating when they’re overlooked.
Walk through this list before every submission.
✓ Simple, clean layout. Stick to two or three colours at most. Keep alignment consistent throughout. Use readable fonts—nothing smaller than 10pt. Give each section a clear heading. If you’re working from a Canva or Figma template, verify it doesn’t sacrifice legibility for visual flair.
✓ Export as PDF. Not .docx, not .pages. PDFs display consistently across devices and operating systems. Your carefully arranged formatting won’t collapse inside a recruiter’s email client.
✓ Name the file properly. Jan_Kowalski_CV.pdf, not Canva_export_final_v3.pdf. Recruiters juggle dozens of documents. A clearly named file is easy to find; an ambiguous one gets misplaced or tests the patience of the person trying to locate it.
✓ Keep length proportional to experience. One page for junior developers. Two pages for senior engineers with substantial track records. Three pages only if every section genuinely earns its place.
The complete CV checklist
Most CVs don’t fail because the applicant lacks experience; they fail because the document forces a recruiter to dig for it. Once they’ve scrolled past a vague headline, a block of generic skills, and three bullet points describing duties rather than outcomes, they’ve already moved on. There’s no second shot at that first pass.
The necessary changes are rarely sweeping. It’s almost never a matter of scrapping the whole document and starting fresh. It’s small adjustments—the kind a recruiter encounters dozens of times daily and has learned to spot instantly.
What makes this difficult is that these flaws are invisible to the person submitting the CV. You know exactly what you meant. You understand the context beneath every bullet point. The recruiter doesn’t, and they won’t ask. They’ll simply move to the next applicant.
Treat the checklist below as your final gate before every submission—not just when you first write the CV, but each and every time you send it. Something on that list will always need attention, and the five minutes spent reviewing it are the five minutes that separate a callback from a folder marked “archived.”
CV Tips and Pitfalls

