初心者、初級者が中級者になるのは簡単でちゃんと考えてプログラミングを行うだけです。 「そんなことは誰もがやっていることでは?」と思うかもしれませんが、実は中級者以上ならば当たり前とも言える「考えてプログラミングをする」というのが初心者や初級者ではできてない場合が多かったりします。 自分のプログラムを他人から質問された場合に「ここをこうしているのは○○のため」と説明できるくらいになれば中級者と言ってもいいですが、自分が作ったプログラムなのに「何となくそうしている」という回答しかできないならばまだまだ中級者を自称するのは厳しいと感じます。