Learn English – Noun for “person with intermediate skill”

adjectivesnounssingle-word-requestssynonyms

I'm looking for the noun form of "person with intermediate skill". For example, in the context of a particular activity, "person with no skill" might be designated a novice, and "person with much skill" might be designated an expert. However I know of no such word in between these two extremes.

My only thought is amateur, which has a distinct meaning from describing level of skill, although skill level can often be inferred. I'm looking for a better solution.

EDIT: due to the attention this question has received, I'll try to offer some clarification in order to reduce repeat questions.

  1. "Journeyman" would certainly not work. I am a software developer by profession. However the word I'm looking for should hopefully be profession-agnostic.

  2. I am trying to designate the skill level of the person that some learning material might be appropriate for. The word that I'm looking for follows the preposition "for".

    • For Beginners
    • For [word for intermediate-skilled person]
    • For Experts
  3. Sorry, but even after all the great answers, I'm still learning towards "amateur" even though it is technically incorrect. Also, the word should not be so esoteric that only people with English degrees know what it means. Keep the ideas coming!

Best Answer

In some professional organizations, the word "Journeyman" is used for someone who has passed their apprenticeship and able to complete work on their own, but are not necessarily masters yet.

EDIT: If you are seeking a skill level reference for learning material. This seems to be a standard:

For Beginner [programmers, developers, carpenters, chefs]
For Intermediate [programmers, developers, carpenters, chefs]
For Advanced [programmers, developers, carpenters, chefs]

You are asking for a word to replace "intermediate", but the more I think about it "intermediate" may actually be the word you need.