I've filled out a fair bit of job applications and I haven't been able to understand how to qualify my skills as "Intermediate" or "Expert". I usually stick with "Intermediate" because, in my mind, "Expert" is basically Guru level.

This is for programming and web development roles. For example, let's assume the skill is HTML. What exactly would I need to know or learn to do before calling myself an "expert"?

  • 1
    Not really an answer, but I one saw someone post here that they always ask a job candidate to evaluate their skill in a certain area on a scale of 1 to 10. The answer is always "8". So he asked the follow-up "what's something a 7 would have difficulty with?" It's the follow-up that gives an idea of their skill. I like this, because for any skill with which one one has some experience, it's hard to interpret "beginner", "intermediate". and "expert" as something other than "someone who knows less than me", "someone who knows about as much as I do", and "someone who knows more than me". – LindaJeanne Oct 22 '15 at 12:03

In the software industry:

Beginner: Knows a skill, but haven't really applied it in anything.

Intermediate: Have done projects(one or several) in that particular skill

Expert: Can maintain a large end-to-end project which involves that particular skill. Can teach a Beginner.

To avoid misperception about the project part, please look at @HLGLEM's comment below.

| improve this answer | |
  • Hmm, for some reason, this makes it sound like a fresh post-secondary grad is at the "Intermediate" level, and basically anyone after 2 years is an "Expert"? – Nelson Oct 22 '15 at 9:36
  • Yes, the intermediate band is very dense. Everyone who has a knowledge of the skill and did a project is an intermediate, till he gains enough(takes abt 5 years) to successfully lead a big project(and that's when someone can be called an expert) – Dawny33 Oct 22 '15 at 9:56
  • @Nelson Id say that it takes about 2 years of applied effort to become an "Expert". You have to remember that these terms are relative the the candidate base, not to the program itself. I consider myself Expert level proficient in Excel. That doesnt mean I know everything about Excel. I know 2% of what Excel is capable of. What I am is heads and shoulders over 98% of the candidate base for the jobs I'm applying to simply because I have mastery of =if, =vlookup, and basic macro recording. – user2989297 Oct 22 '15 at 19:43
  • 3
    I would disagree @Nelson. It needs to be a real business project not a school one. No one coming out of school is an intermediate or expert unless they are doing something outside of school work – HLGEM Oct 22 '15 at 21:49


You're the guy asking the SO questions, although you can answer some too. You're a little wary of any new job using this skill unless it's at a junior level or not the primary skill

Capable of using a technology, and understands the basics. A beginner can probably put a project together with a bit of Googling and asking for help a few times, but not 100% capable of independent working and won't necessarily follow all the best practices etc. If you still ever need to read any tutorials or articles to do things with the technology, you're at this level.

eg HTML/CSS (let's say Bootstrap) you know most of the basics, but you still sometimes have to Google to check whether you're better off using float left, pull left or media-left.

In Java or C#, you know the syntax and can throw a project together, but you sometimes have to check how to perform fairly day-to-day tasks like converting to JSON or Serializing a class to a file.


You're the guy answering SO questions, but still asking a few sometimes. You'd have no concerns about going for a job performing this skill as long as it's not a senior role and you know they aren't going to expect perfection

Comfortable using it and can work with the technology independently and confidently. Basically "Tell me what you need me to do and I'll do it". Mistakes will happen but be rare, and they will know/follow the industry standard approach in most situations. Essentially, the level at which you can be given a project and left alone, solve most problems yourself etc. You'll still run into problems, and if something goes wrong may need an hour or two Googling to fix it.

eg HTML/CSS, you almost never run into something you have to google. HTML/CSS don't really have much of an intermediate stage IMO. But in Java or C# or similar you probably only need to check fairly obscure things like if you need a Controller to return a View or Partial View depending on whether the request is an AJAX call.


You're the guy posting the top voted answer on obscure SO questions, or correcting/adding an interesting nuance in a comment on an answer. You ask one question a decade, and it tends to be upvoted to infinity and then becomes the topic of a major research paper. You would not only go for a job with this skill, you'd be excited and have absolutely no concerns that you'll perform well and be capable

Having worked with a technology for several years (anywhere from 3-10+ depending on the technology/skill) and capable of going above and beyond the norm. You can't just use it, but you can install, configure, optimise, fix, improve it. The point at which you understand it so well you have specific keyboard shortcuts for tasks can navigate directly to the correct file on the disk (despite it being 6 system folders deep) etc.

HTML/CSS: you can do almost anything without touching Google.

Java/C#: you still have to look things up, but only when it's for something you've done about twice ever, or things most projects wouldn't contain.

| improve this answer | |
  • 5
    There's nothing wrong with looking things up. This is what computers are good at. You should know multiple ways to look something up, however, like using API manuals, man/info pages, reference books, etc. The real info is typically there. The forum answers are often just referencing that stuff anyway. – Brandin Oct 22 '15 at 13:59
  • 1
    There isn't anything at all wrong with looking things up - I'm just using how frequently you need to do it as a metric to measure "beginner / intermediate / expert". Those phrases are intrinsically linked to knowledge, therefore comparing how often you already know something, to how often you have to go and find out, gives you an idea of where you are on that scale. I'd certainly consider "knowing how to find out the information you need" as a skill in itself (and, for example, an expert is likely to filter that information faster, or know where to look for it) – Jon Story Oct 22 '15 at 14:01
  • 4
    Your "beginner/intermediate/expert" categories are really focused on SO questions/answers. Some experts use such forums, others don't. Actually I prefer forums where there is no "voting" system. The number of votes are mostly correlated with time in my obversation (basic beginner-type questions from around when SO started have tons of upvotes, for example, despite them being pretty basic.) – Brandin Oct 22 '15 at 14:19
  • Focused on SO? No they aren't, that's one of several points of reference I use to describe each "grade": along with some very unrelated metrics including "how comfortable you'd feel starting a job/using the technology", "how often you have to look things up", "how efficient your workflow is", "how long you've worked with the technology". I mention SO here simply for context because we're on SE and therefore it's accessible to anyone reading this answer. – Jon Story Oct 22 '15 at 14:23
  • @Brandin, experts do not need to look up basics in their technology stacks. That is part of why they are experts. People who throw away information by not trying to remember it are never going to reach expert status. Experts only look up obscure stuff or things they only need about once a year. – HLGEM Oct 22 '15 at 21:52

For example, let's assume the skill is HTML. What exactly would I need to know or learn to do before calling myself an "expert"?

Knows what it is and can write a HTML document that is displayed by a browser.

Knows about W3C conformance and validation. Knows most HTML tags. Is not confused when two browsers display the same page differently. Knows about character encoding.

Knows about common browser quirks and their solutions. Knows to properly differentiate HTML 4 and HTML 5. Knows how to avoid deprecated or disadvantageous HTML tags. Knows about relevant meta-tags besides "charset". Can optimize HTML for accessibility.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged .