プログラミング

プログラミングが上達するコツ【結論はアウトプット重視】

プログラミングってなかなか上達しないですよね。
特に学習初期は試行錯誤の連続で挫折しやすいです。
できるだけ早期に上達するにはどうしたら良いのでしょうか。

結論はアウトプットをしまくること!

まず質問です。
プログラミング学習本や動画を見て、学ぶのはインプットでしょうか?アウトプットでしょうか?

正解はインプットですね。

書籍を1周したからと言って、記載されている技術が使いこなせるようになりません。

インプットしたものを、使いこなせるようになって初めて身に付いたと言えます。
なぜなら、プログラミングにおいて、全く同じものは出ないからです。
丸暗記しても対応できないことがほとんどです。

ただ全く見たことがないことを開発することはないので、
ある程度基礎力さえ付ければ、調べながら対応できるようになっていきます。

プログラミングが身に付かない原因①「インプット偏重」である

プログラミング学習で非効率なので、書籍を最初から順番に進め、何周もすることです。
よく学校の勉強と同じように考える方がいますが、受験勉強とは別物です。
書籍を何周も繰り返すよりも、最初に作りたいものを決めてしまい、
分からないことを書籍で調べながら、作っていくほうが効率的です。

プログラミングが身に付かない原因②「インプットした後に、アウトプットで挫折する」

プログラミングはアウトプットが大事なのですが、アウトプットは行わずにインプットをし続ける人がいます。
アウトプットをしようとするのですが、ちょっと分からないことがあると「インプットが足りなかったんだ」と思い込み、再びインプット学習に戻ってしまったり。
アウトプットはインプットよりも失敗も多いですし、分からないまま進める必要があるので、辛い工程ですが、真のスキルを身に付けるには避けて通れません。

ぶっちゃけ仕事にしちゃうのが手っ取り早い

強制的にアウトプットするには、仕事として請け負うのが早いです。
できないスキルでも「できます!」と言い切って、必死に勉強してしまえば、
インプットもアウトプットもやらざるを得ないですからね。

僕のオススメは、インプットは請け負う前に学習しておき、
仕事として請け負う方法です。
インプットって難しくない分、精神的に余裕がないと身に着けられない気がします。
例えば、納期が迫っているのに悠長に書籍で学ぶことは出来ないかもです。

最初は半人前のスキルでも、実務経験を積むと、勝手にスキルアップしていきます。
ベテランのエンジニアもこんな感じで幅広いスキルを身に付けている感じがします。