初心者、初級者、中級者、上級者に明確な定義はないので私の個人的な考えだとこんな感じですね。 まずは中級者。 中級者は基本的に自分が作りたいものを自力で作れる人です。分からないアルゴリズムは自力で検索しても問題ありません。 というわけで、中級者に満たない人が初心者や初級者ですね。 他の人に頼らないと作るのが難しい人がこれに相当します。 上級者は自分が作りたいものはできて当たり前でよりベターな方法で作れる人です。 例えばゲーム作りに便利なライブラリがあった場合に・・・  ライブラリを使ってみたけど思うように動かない → 初心者  ライブラリを使えばゲームが簡単に作れる → 中級者  もっと良いライブラリを作ったよ! →上級者 とはいえ、普通はジャンルによって得手不得手があるため得意ジャンルでは上級者だけど苦手ジャンルだと中級者止まりの人も多いと思います。