Post/Code

HomeAboutUsesNow

Competencies Proficiency Scale.

How do you measure or represent your ability to do your job?

In thinking through this question and reading up on some sources, I came across this page, which I think is a good frame from which to work. The NIH Competencies Proficiency Scale. Essentially, your proficiency is broken down into 5 levels:

Their words:

  • Fundamental Awareness (basic knowledge)

    • You have a common knowledge or an understanding of basic techniques and concepts.
  • Novice (limited experience)

    • You have the level of experience gained in the classroom or as a trainee.
    • You are expected to need help performing this skill.
    • You understand and can discuss terminology, concepts, principles and issues related to this competency.
    • You utilize the full range of reference and resource materials in this competency.
  • Intermediate (practical application)

    • You are able to successfully complete tasks in this competency as requested.
    • Help from an expert may be required from time to time, but you can usually perform the skill independently.
    • You have applied this competency to situations occassionally while needing minimal guidance to perform successfully.
  • Advanced (applied theory)

    • You can perform the actions associated with this skill without assistance.
    • You are certainly recognized within your immediate organization as a "person to ask" when difficult questions arise regarding this skill.
  • Expert (recognized authority)

    • You are known as an expert in this area.
    • You can provide guidance, troubleshoot and answer questions related to this area of expertise and the field where the skill is used.

My words:

  • Fundamental awareness

    • You have watched a Udemy course or two on the topic and you can start to incorporate this into your own work.
    • You will need to Google and Stack Exchange. A lot.
  • Novice

    • You know enough to start.
    • You can cobble things together, figure them out as you go but chances are good you will be spending a lot of time on things, that a more experienced developer will solve quite quickly.
    • Trial and error is a big part of your repertoire.
    • You are primarily concerned with getting something to work rather than to work well.
    • You don't know what you don't know.
    • Your ability to read and comprehend code is limited.
  • Intermediate

    • You can build stuff and you know enough to have opinions on what you have built (good and bad).
    • You refer more to the MDN and developer docs directly, because you are looking for the gist.
    • You understand the building blocks and are looking for information that is more directional, than it is specific.
    • Likely, once you have built a few things, you will start to recognise the short-comings of your implementations and become more concerned with patterns, structure, efficiency and style.
    • Importantly, you can, for the most part, solve your own problems.
    • You are becoming aware of what you don't know, you have pretty good ideas on what you need to get better at.
    • You know bad code when you see it, but you aren't thoroughly versed in how to improve it - you know it should be improved and you have some ideas to go on.
  • Advanced

    • You have been round the block more than a few times.
    • You can solve small problems quite quickly and most importantly, you can solve hard problems others are struggling with.
    • Your code is generally well structured, well written and hopefully shows good style.
    • People tend to call on you to help solve issues they are facing.
    • You know bad code when you see it and you immediately have solid suggestions and approaches to improving it.
  • Expert

    • You are solving problems most people don't even know exist.
    • You are creating what everyone else uses.
    • You are likely proficient in more than one language and could pick another up quickly.