So you want to display your skill level?

The thing that gets me a lot is when someone thinks that using a graph on their site, resume or anything is a brilliant way to display their actual level of skill. I’m going to explain to you why you shouldn’t do it, and hopefully provoke some discussion about what other techniques you could use to display your actual skill level.

The Scenario

We have two people, X and Y. They are both budding developers, they both have skills, they’re both designing their portfolios/resumes and have decided to display their skillset in graph format so that a client can easily see what their strengths and weaknesses are.

Person X thinks he is truly awesome at PHP, and jQuery as well as HTML, but has a slightly less than perfect knowledge of CSS. So he decides that he’ll put the following ‘weightings’ on his skills:

  • PHP 90%
  • jQuery 85%
  • HTML 90%
  • CSS 50%

After some quick looking at a graph that would appear based on these numbers, person X decides that actually, it makes him look like a bit of a poor developer with one bar being so much less than the other. So tweaks the numbers so that CSS actually sits at about 75%. Content with this new graph, making him look like the professional developer he thinks he is, he sets about finalising his portfolio.

Person Y is at the point where he has to decide how to display his skillset, opting for the same method as Person X, he sets about validating his same skills as below.

  • PHP 75%
  • HTML 80%
  • CSS 80%
  • jQuery 60%
  • JavaScript 80%
  • Photoshop 30%

So content with how his graph looks, he sets about drawing up & finalising the rest of the portfolio/site.

Brilliant, we have two people’s sites that are pretty well done, and look awesome with their graphs!

The Client

Client A wants a new website creating, nothing too complex, just a blog ultimately, but using a simple bespoke system that won’t use WordPress.

The client takes a look at both Person X & Person Y. Having done some quick looking at the totals, the client decides that he should probably choose X over Y. Reasons possibly being:

  • X is better at PHP, he’ll probably complete the work to a higher standard.
  • I want some interactivity, I hear that it uses something called jQuery, X is best at that, he’ll be able to do what I want.
  • HTML is what keeps the sites running etc, so he’ll need to know that.
  • From Googling, CSS is used to style HTML, his 5% lack on Y is made up by his advances in the other categories.

So from the above information, the client would probably run through and chose X over Y.

Was it the right decision?

Clients are renowned for trying to get their work done for the cheapest they can, they won’t take anything else into consideration. They are presented with stats in a lovely comparable way, they compare, and pick the best. It’s like developer Top Trumps (kudos if you remember Top Trumps!)

Now, if we look at the decision process of the percentages for each user we could probably see a different mindset appearing, and quite simply see that the client most probably made the wrong decision – something they might find out further down the line.

Person X is someone who is set on using PHP 5.1, they don’t like adopting new standards, they don’t actually know anything about JavaScript, and so will always use jQuery in a scenario where probably you could use vanilla JS. Furthermore, Person X also has little knowledge of CSS, they won’t use CSS3, and most definitely will not test in various browsers. They love using Firefox, and don’t really care much for Internet Explorer users. Person X always Googles for an answer first, and then takes any answer and copy/pastes the code to suit their own situation.

Person Y is currently self taught, however, they are experimenting with new technologies. They develop everything locally, and then push to a live server. For that reason they are running the latest version of PHP, perhaps not sub-sub version, but definitely more recent than Person X. Person Y has a knowledge of JavaScript, their jQuery code will be more targetted at the client’s needs, they can remove the crap from any jQuery plugins that aren’t needed – or recode stuff to be more efficient. Person Y has seems to have lower numbers than X, however does that convey that they’re being honest compared to X? Have they spent an equal time on learning things?

The Problem

With a graph is that there are a load of assumptions that have to be made by the client, and/or the developer:

  • 100% honesty
  • High numbers are better
  • Lower number on one compared to another make you look bad
  • Other developers lie (so I should when making my numbers up)

The Solution

If you want to use a graph to display your stats, that’s great & awesome! However, take a few things that have been explained into consideration when doing so, and if you’re an innovative developer, you’ll probably do something awesome to help explain the large differences from one bar to another.

When you display your skillset on a graph, why not use something similar to JS Tipsy (if on a website), to explain why you aren’t at 100% with that language might be that you have just started learning the language, or that you only dabbled with the language for college or something.

Why not consider an alternative method to display your skillset?


There are plenty of alternative ways to display your skills:

  • Rank your skills in how skilled you feel you are with them. List them, don’t put a comparable value (such as a graph) on them.
  • Name the languages you would happily be paid to do work in. Personally, I would never accept payment to work in C or Java from a client. Yet, I have used them, and would probably be at about 25% or so in each. Yet, I don’t mention them.
  • Slip the languages that you have used into your bio section of your site ie:
    I am Person X, I create websites using PHP, HTML and CSS to style. Reaching out to jQuery for interactive effects where suitable
    That small chunk shows that you know when best to use jQuery, and that you have experience using them.
  • When you display your portfolio mention the languages that you used for each project, if you want to be smart, list them in the percentage of coding that is done in that language… ie: “Forrst Stats: PHP, MySQL”
  • Don’t mention the languages or skills that you know. Let your portfolio talk for you.

The last three points are the ones that I’d personally go for, not all three, but the first one for sure, then probably the last, unless it ‘s a bit project that uses something special, I’ll mention it then in the description of that portfolio item.

Final Words

You need to set yourself apart from other developers and desginers, think outside the box in how to present your skills, don’t use a method that will make it easy for a client to actually reject you compared to another developer/designer. They can work to your advantage, but can also work to your disadvantage.

Using them in a resume or CV is slightly different to using them online. I would personally keep a resume strictly textual and explain simply the skills you are more skilled with. Save a lot of the discussion for interview! Your portfolio will get you the interview, your language skills will get you the job from the interview!