Don’t use progress bars in your CV

iamzoka profile image Zoran Zlokapa ・1 min read

Sometime ago, I got a chance to be involved in hiring process at my company and one thing I have noticed is that good part of applicants like to use progress bars in their CV’s to show the level of their knowledge.

My only question is how? How do you calculate the percentage of certain skill in the first place? Saying you know 80% of something usually means you know what or where 100% is. That further means you have more than 80% of that knowledge, because you know what you don’t know. Now, I don’t want to start a philosophical debate about circle of knowledge, so I’m gonna keep it short and light.

If you’ve graded your knowledge of HTML to 80% or 4/5 stars, are you really sure there isn’t some part of HTML reference, some trick or whatever, that you missed that can give or take away some of those precious points?

Other thing is that you can’t easily rate something that’s constantly changing and improving. Say you graded your CSS knowledge to 75%. CSS Working Group gave us CSS-Grid few months ago. Is your CSS grade now 50% or 71% or something else?

My advice is just don’t use it, it’s pointless to say the least.

Posted on by:

iamzoka profile

Zoran Zlokapa


Explorer of layouts, composer of styles.


markdown guide

I had never thought of it from this perspective - thanks and cool stuff!

Do you think there's value in (trying) to communicate the comparison of skills; not necessarily just the knowledge levels of each skill in isolation?

To me, the scales for each individual skill is indeed subjective and shouldn't be taken at face value for all the reasons above. However, knowing someone self identifies as a 2/5 stars in C# and 4/5 stars in Photoshop... that seems more meaningful to me?!

Although, maybe it's no different from the traditional non-visual "Beginner," "Intermediate," "Expert..."



If you really want to use a scale, define the scale somewhere. I like the way Google does that during the interviews. They'll ask you to rank yourself from 0 to 10 on several skills relatives to the job (Python, TCP/IP, etc) but they will explain you the scale. While I don't remember it exactly each number basically it's something like:

  • 0 — don't know at all
  • 5 — you're the person everybody in the company goes to see if they have questions about it
  • 10 — you've invented the damn thing

Even if you don't use the scale, you can describe your skill level in relationship to others. Like:

  • Python — Beginners refer to me
  • JavaScript — Teaching it at university
  • etc

But more than anything what matters is proofs. You want to communicate JavaScript experience? Put JavaScript experience in your job descriptions, possibly with links and references.

(Also it's forbidden to reveal the Google hiring process publicly so I guess that Google's never going to hire me, oh nooooo)


10 — you've invented the damn thing

Of course. 10 should always be, you invented the damn thing. If python, I think Guido gets to be the first to sit at the Table of 10!

No human is able to grasp the functionings of every lib or package made for python. 100% is not possible, even if you authored the language to begin with.

Hence the scale not measuring your knowledge of 100% of what exists but rather how do you compare in relation to your peers


Exactly, exactly, exactly, couldn't agree more! There is nothing I can add after this.

And sorry about never getting job at Google 😆


I wonder if a radar chart is a good way to show where your skills land in comparison to each other, versus as a metric to be used against the rest of the world.
It makes sense to me to say that I’m more comfortable with React and JS than I am with CSS, although I know both of those enough to get most jobs done. That way if an employer is looking for someone who’s main focus is CSS, they can know that I may not be the best suited candidate for that role.


A radar chart is always a bad idea no matter what you try to represent. It is so confusing because it creates a 2D area while you want to compare 1D data, so basically anything you show on it is biased. Also you still can't measure your skills, so changing to a more confusing graph won't help you.


Hmm, I hate these types of ratings as well, though your idea of a radar chart actually sounds interesting. Especially as someone dual disciplined, overlapped. My JS QA skills may be awesome while I'm not experienced in JS development like I am in Python or R. That could be visuallized something like this example: chartjs.org/docs/latest/charts/rad...

There's still inherently a numerical score, though, so I doubt I'd use it :\ I'd much rather just list what I know in order of comfort rather than assign scores.

Yup, list by experience and comfort looks like a winner :)


You are very welcome and thank you for commenting!

I think it's all rather subjective. Actual knowledge aside, if you're a modest person, you'll probably rate yourself a bit lower on the scale. If you're more egotistical, maybe you'll rate yourself higher. Some of the best developers and engineers I've worked with call themselves beginners.

Don't know if that answers your question. Honestly, I haven't really understood what you meant by "communicate the comparasion of skills", sorry :)


I think nuSei meant that, you might not know where is the boundaries of a specific technology thus we all agree to say displaying a percentage is pointless, but you can rate the difference of skills between several technologies. For example in my case, it will be 100% in PHP, because that is the technology I master the most. Then, I would say 70% Laravel, 60% Vuejs, 40% CSS and so on. Maybe if you take this from this point of view, bar chart make more sense, because those percentage represent how much you feel comfortable relative to the skill you master the most I guess.

Maybe, but it still doesn't make sense to use percentages because they are relative units. You say you know 100% of PHP, but are you really sure? Everytime you learn something new, you gain new experience and that adds up to your knowledge of PHP. Do you then know 105% of PHP or other percentages become smaller?

Maybe you can graphically show the relation between experiences with different technologies, but I wouldn't include any numbers, especially percentages.

I think the best way is just to let your projects speak for you. I can write in my resume I have 20 years of experience with some tech stack, but:

  1. That doesn't necessarily makes me any good at it and
  2. I can simply lie or fake it.

This is turning more and more into philosophical debate with every new comment :)

I also noticed this phenomenon in night with friends, it always either turn into a philosophy or political debate 😂 great article by the way 😉 I agree, one cannot say he knows 100%,I think it is more like my best skill is X so I will consider others skills compared to this in my pov.

Thank you. I’m about to have one of those nights 😂


It’s a measure of their confidence in those skills.

I’ve interviewed a lot of people as well. And I always ask them to rate themselves from 1 to 10 on whatever skill. Then I ask the question, then I assess - are they prone to underestimate themselves, over estimate themselves, or is there estimate spot on?


Yes, can be. I didn't look at it that way, thank you! But that's only for fixed grades, not percentages.


The actual number doesnt really matter to me. Just as to how they relate to each other.

For example, a candidate may rank himself as 7/10 in Javascript/Node, 9/10 in Python, and 4/10 in Oracle. Doesnt really matter if he ranks himself as 73.5%, 90.8%, or 41.7%. That just means he's most confident in his python skills, next is his javascript skills, then really not confident in his oracle skills (probably means he conceptually knows it but no professional experience).

You can treat the skills as stories and the score as story points (i.e. you dont really care whether a story point is 12 pts, 13 pts, or 14pts...at that point, they're all in the same bucket). And to that analogy, if a candidate ranks himself as 7/10 but after you ask him questions, he's just a 4/10 (for you), then safe to say, without even going to the Python and Oracle questions that he's just a 5/10 and a 2/10 on Python and Oracle. Sure you'd still go through the Python and Oracle questions, but at least you set your expectations and you can opt to end the interview after a few Python and Oracle questions.

Lastly, candidates may not be presenting those numbers to mean confidence level. But IMHO, that's how you should treat them. And then figure out during the interview which spectrum of the dunning kruger effect they lie in.

Interesting idea, thank you for that Franz, really!

It all comes down to face-to-face and technical interview, yes. When I actually see how you speak about and work with things you claim to know.

While I understand your point about confidence and would not penalize someone for putting progress bars in their CV, it brings exactly zero information to me no matter what.

I'm recruiting people for the way they think and behave way more than for the experience. If I'm going to ask technical questions, I usually let the candidate choose the language for the task.

Totally agree, I just wrote similar thing in my previous comment! :)


Unless you are a graphic designer don't do anything remotely close to this in your CV, and then if you are a graphic designer, draw something pretty, DEFINITELY do not do progress bars.

Your CV should be a spec sheet of what you know, think of it like the spec sheet of the iphone.

Your cover letter should be like the advert for the iphone. Connecting, for the reader, the points on your cv and relevant experience to the points on the advert.

Both CV and cover letter should be simple and to the point. No CV has ever been thrown out because it wasn't flashy enough, plenty of CV's have been chucked because they are 100 pages long.


Also, don't call yourself JEDI, GURU, NINJA or HACKER. Sheesh. Even Six Sigma's Blackbelt is cringe.


Aw come on, don't take whole fun out of it! :)


I partially agree with what you think.

But i think every body should be able to rate themselves out on a particular scale as quantification always helps.
Lets say i rate myself 2 out of 5 in Javascript that can be something

Also, I think it can be a good idea to explore what are the alternatives. Since there are lot of UI gurus here, we can look towards an elegant way to display skills(plzz not word clouds) which are computer friendly and eye friendly as well.


Like somebody already mentioned, your projects will speak for you. Show interviewer what you made with technology you know.

I personally don't look at the design of the CV, I just look for experience and past projects, but I agree they can't be tens of pages or unreadable.


I've used it before. I don't anymore, but for me, it wasn't an objective percentage, but rather a way to relatively judge my skills in relation to each other.

As a php dev, I filled the php bar completely, and the other skills were filled as compared to the full bar.


If you noted that somewhere next to bars, I think that's ok, but nobody does it like that :)


Hi Zoran,

I totally agree with you. Percentage isn't really an accurate metric to represent the expertise in a technology. I totally understand to build a bar chart based on years of experience or skills from one to 1 to 5.

Other thing is, bar charts should be avoided, because it works very well for human eyes, but work terrible with ATS, when scrapped by a ATS the majority of this graphical information will be ignored working against the candidate.



I always thought it was silly too. Even putting years next to the language or framework I think limits your chances in job applications.

I always tell juniors, just list all of the things that you've had experience with. For example CSS, if you've worked with it before, put it in your resume. If a job application specifically asks for CSS Grid, but you have no experience with it, that doesn't mean you should remove CSS from your resume. I trust most developers, that if they've had experience with a language, that they would be able to learn new things in the language even if they are a beginner.


Well I think years are ok to put next to the skill. Experience matters because it can give you more perspective and where some tech has been and where it is going.

I agree with the second part, but there has to be a limit somewhere. I've seen some assembler code back in high school. That doesn't mean I should put it in my CV :)


I think the point of the progress bars is not to show exactly how much of a technology you know (that's impossible), but rather provide an easy visualization to the recruiter of what your strengths are, compared to each other.

I actually use progress bars in my personal website and it's just a way for me to express the level of confidence I have with a technology/tool.

No serious recruiter would take progress bars literally, that said, I think it's ok to use them.

Interesting article though, thanks for bringing it up.
What alternatives would you suggest for the progress bars?


Hey man, thank you. I’ve mentioned it before. Comparing skills to each other is better, but you still have to let the reader know you’re doing that and not just put some numbers next to the bars.

For me personally years of experience and projects work best. There I can see how long you have used something and more importantly, how have you used it. Did you work on smaller and simpler projects or bigger and more complex.


Even me while updating my resume and i see others using progress bars, i thought it's bad because they are saying that if their knowledge on specific skill was 100% already, it means they are gonna stop learning, which is also frustrating for me


Now that’s interesting. I never met someone who knows everything :)


Hi Zoran, I agree that percentages doesn't give a concrete explanation of what is you knowledge.
When I was remaking my Cv I wanted to add skill bars but I was like "...java, OK I'm not beginner, but not expert either. Is this a 1/5 or 3/5?"

Then I thought what actually gives companies a sense of your skills is how many years you work in that technology. So I end up with the following skills bar:

Java # # # _ _
Sql # # # # _

And added a legend saying that the each # represents a year on that technology.

I kept the bar with a maximum of 5 so it appears that I have a fair amount of knowledge 😆.


Yeah, years of experience plus explanation are okay, but that's different than rating your knowledge 3/5. Just don't forget to update your bars when you reach 5 years. 😄


Sometimes the people know the least think they know the most.

Although I think self assessment is important also, at least stack rank of your best skill. When people list many programming languages, I ask what is your strongest skills stack ranked.


I agree. I mentioned it somewhere in the comments, it’s all about personality. If you’re modest, you’ll rate yourself lower and if you’re more egotistical, you’ll rate yourself higher.


Donut charts or GTFO.

I dislike any kind of self rating on any technology that is too granular. If you want to rate technology in your resume, use a some 3 level skill: novice, intermediate, advanced.

Stay away of expert claims unless this can be proven by a Google search. I.e. you wrote an acclaimed book on the subject.


To be entirely honest, far too many HR systems are software driven into a schema database, actual humans may never see any of this to begin with. It really REALLY sucks because if you don't fit the exact mold of the schema, you're out an opportunity. And these text pasers are quite bad,too. Recently I had one that couldn't even find my phone number (it was right next to address, email, and name, which it got all of them right)

We're living in a "AI" / "ML" world now, where standing out has nothing to do with skill sets or accomplishments, but instead optimizing and exploiting algorithms.


I agree with you completely! I personally don't want to work for company that lets robots hire real people. I believe the future is in AI, but we're not there yet.


We missestimate almost everything. Especially the time and work we have till the next deadline. But, i like the progressbars. They are also quiet representive of the state of mind we have concerning our knowledge. If you now take also the logarithm of the given value, you also get an somehow representative value. Like 90% -> 50%, 99% -> 75%


We’re supposed to be logicians as developers. Nothing logical about “knowing” x% of something, implying there’s an endpoint to it all! Thank you for sharing!


I decided to check out this article because I thought that whilst explaining why it was probably bad practice to use progress bar to show skill level, you would also make suggestions on how you think it should be done. You have managed to do only the former...


Well that is the last sentence in the article for :) But, if you go through the comments, you'll find some really good advice.

The point of the post was to make people think. Hell, maybe I'm wrong about the whole thing! What I maybe should have said -- and somebody mentioned it in discussion -- we're developers, we're logicians and as we think about what we build, weigh the value of the code we write, we should think about what we put in our resume.

Here's another advice. You can't have a single CV that you send everywhere. You must tailor it specifically for each job application. If you apply for C# position, there's little point in writing you're good at Photoshop. Like everybody here says, it all comes down to your projects and experience. In technical interview, the interviewer will see how you handle technology you rated highest.


Good one!

Percentage needs a reference. Instead of using percentages, expose the problems you have solved with that skill and/or how have you used it.


Exactly! Couldn't agree more.


Thank you.

"1 minute read" on posts next please.


I totally agree, I was laughing as I read your article because yes - you think you know a language and then you run into a problem and realize just how much you DIDNT KNOW!


Really good article and must agree. Will do new non-bar charts resume templates for fullstackjob.com/developer/profiles


Did not expect that, thank you!


Any scale or ordering is somehow pointless but more helpful than none. I ask candidates at the beginning to say where they know the most. Everything else is the interviewer's job.


It makes more sense if you use years of experience...


You never know what you don't known. Progress bars and percentages don't make sense without an appropriate scale, and "knowledge" or "proficiency" are simply too broad, subjective, and contextual.


Totally agree! But adding another document to decipher your CV seems like an overkill :)


I equate this to saying you know the "core" of something: Core JavaScript, Core Java expertise, skilled in Core SQL...

I take this as "I did the hello world of this thing, so I'm skilled."


Cool, interesting point of view. But then how do you think it'd be better to describe one's skils?


Remy had very good suggestion which scale to use and how:

If you really want to use a scale, define the scale somewhere. I like the way Google does that during the interviews. They'll ask you to rank yourself from 0 to 10 on several skills relatives to the job (Python, TCP/IP, etc) but they will explain you the scale. While I don't remember it exactly each number basically it's something like:

  • 0 — don't know at all
  • 5 — you're the person everybody in the company goes to see if they have questions about it
  • 10 — you've invented the damn thing

Even if you don't use the scale, you can describe your skill level in relationship to others. Like:

  • Python — Beginners refer to me
  • JavaScript — Teaching it at university
  • etc

But more than anything what matters is proofs. You want to communicate JavaScript experience? Put JavaScript experience in your job descriptions, possibly with links and references.

(Also it's forbidden to reveal the Google hiring process publicly so I guess that Google's never going to hire me, oh nooooo)

But check other comments as well.

My advice is keep it to the minimum. Show how much experience you have and what kind of projects you've worked. That should be more than enough for interviewer, unless he says he wants it differently.


I don't like them, but maybe sometimes they're more an indicator of what kind of worker you are / you wish to be.


The worst thing is that most of the candidates use percentages like in example in the article. They think there is 100% of some skill and they put themselves somewhere on that scale. It maybe some indicator of their skill, but it will change almost every day.