初めてプログラミングを学んだ話
何事も初学者は学ぶことが多く、とかく挫折しやすい。
プログラミングも例外でなく、むしろ挫折しやすい分野だと思う。
以下の記事によると挫折した人の割合はプログラミング学習の経験者240名で**87.5%**もおり、始めたほとんどの人が挫折しているようだ。
また、その理由は、わからないことを解決できない、目的がなくモチベーションが続かないことが多いらしい。そもそも始め方もわからない人が最も多いと思うので、挫折すらしていない人も数多くいるだろう。
プログラミング初心者のときの話
初めてプログラミングをするとき
社会人のプログラミングをする動機は大体がスキルを身につけたいや転職のためなど、キャリアアップを目的としたものが多い。学生であれば、授業や研究で必要となり勉強することもあるだろう。
私は大学院の研究で初めてPythonを触れ、OSはVine Linuxで後にUbuntuのTerminalを用いた開発環境だった。プログラムの知識は全くなく、PCの知識もない本当の未経験者だったので、分からないことだらけでプログラムを作るのはとても辛かった。ただ研究という明確な目的がありモチベーションを保てたこと、および指導教官や先輩に質問出来る環境があったのは、未経験者にとってとても恵まれた環境だったと思う。それがなければプログラミングはやってなかっただろう。
始めてから~3か月後
始めの3ヶ月くらいはとても辛かった。パソコンの仕組みも理解してない状況で、いきなりプログラミングするのは色々理解が追い付かず、時間と労力がかかった。やっていたのはシェルスクリプトとインタープリター言語のみだったが辛かった。
3ヶ月くらい経つと、基本的な使い方はマスターして簡単なやりたいことは、webで調べてコピー&ペーストで自分で作れるようになった。ただ、プログラミング処理の理解や、ハードウェアやソフトウェア、ミドルウェアやネットワークの理解は全くなかったので、black boxで使っているような状態だった。そのため、エラーを解決できず自分のできる範囲内で物事を進めることしかできなかった。
3ヶ月〜3年後
その後はソフトウェア・ハードウェア両面で色々経験や勉強することで、総合的な知識をつけていった。QiitaやStack Overflowなどの技術ブログを読むことで新しいPython moduleを学んだり、C++を教えてもらってコンパイル言語にも触れた。LinuxではなくWindowsでのプログラミングの仕方も会社で学んだ。自作PCはパソコンの仕組みの理解に役立ち、メモリ開放やコンパイル処理の理解に役立った。会社のDNS/Proxyサーバーやデータサーバーの理解は、セキュリティやサーバーについての一部理解につながった。ラズパイによる電子工作は電子機器の動作理解につながった。様々な経験をすることで総合的に知識が付き、新しいプログラミングについての物事の理解がより容易になり、成長スピードも上がった。
まとめ
初めてプログラミングを学んで理解できずつらいこともあると思います。そんなときはモチベーションを保てるものを見つけ、わからないことを聞ける人をみつけると、自分で学んでいけるレベルまできっと頑張れると思います。