独学でプログラミングを始める時に習慣化する前に挫折してしまうことが多いと思います。
私もプログラマーに転職するまで自宅でプログラミング学習が続かなかったです。
環境開発を構築しただけで終わったり、テキストを買って冒頭だけ読んで満足したり全然続かなくて向いていないと思うこともありました。
プログラミング学習の継続は練習問題を何度も挑戦することで解決します。
今回、プログラミング学習を継続させやすいサービスやテキスト本を紹介します。
言語はC++をメインに紹介します。
Contents
C++の独学を習慣化させるにはプログラミングを練習が重要
プログラミングは実際に手を動かすことで習慣化させやすいです。
毎日30分でもいいので、席につきPCを起動し、開発ツールを開いて簡単なコードを書くだけでいいです。
何週間かするとプログラミングをしない日が気持ち悪くなってきて自然と習慣になるからです。
この方法はよく筋トレや勉強なんかでも使われることをそのままプログラミング学習に使います。
個人的に学習する時間帯も決めて、平日でも休日でも同じ時間プログラミングを取り組むと習慣化しやすいです。
プログラミングのアウトプットはモチベーションにつながる
プログラミングの醍醐味は自分で作ったものが完成した時です。
本を読んで基礎知識を覚えることも大切ですが、私がプログラミングを教えるときは手を動かす時間を第一に考えます。
実際にモノ作りの楽しさを実感できれば、進んで機能を探して試して覚えるサイクルが常に繰り返されます。
IT業界で成長する人は努力=苦労ではなく、努力=楽しいと考える人が多いです。
まずは自分にとってプログラミングのどこに魅力を感じるのか探してみると良いでしょう。
プログラミング学習を習慣化させるオンラインサービス(無料)
独学でプログラミングを始めたとき、多くの人が何をしたらいいのか分からないことに困ります。
そんな時はオンラインサービスを利用してみるなど教材を探してみましょう。
無料で利用できるもので十分です。paizaやatcoderの競技プログラミングはプログラムを1から作る機会にピッタリです。
主に競技プログラミングの問題が取り組めます。
・paiza
・atcoder
問題を取り組むことでよく使う機能や構造のテンプレートが覚えられるため、仕事でも役立つ力を身に付けることが出来ます。
なれてくれば、よりシンプルなコードの書き方や高速な処理はどうすれば実現できるか調べてみると良いです。
色んな人のコードを読むことでキレイなコード、汚いコードの区別がつきます。
ネットで検索すればいくらでも課題集は見つかりますので、自分の好みに合ったサイトを見つけると自然とプログラミングが続けやすくなるでしょう。
C++向けプログラミング練習にぴったりのテキスト本
プログラミング練習の問題集も売られています。
私個人としては下記の本がオススメです。
Modern C++チャレンジ ―C++17プログラミング力を鍛える100問

理由は答えのサンプルコードがほぼ全て記述されています。(#include<~>の部分だけわざと省略されてます)
処理を正確に書き写して宣言を追加すれば完成できるので、正解プログラムを簡単に作ることが出来ます。
初めは写経のプログラミングで達成感を実感する
プログラミング初心者は問題集を解こうとしても大抵難しくて解けないと思います。
私も慣れるまではどの問題を見ても手も足も出ませんでした。
そんな時はひたすら写経を続けてプログラミングの書き方を体感で覚えてるようにします。
プログラミング学習は写経で完コピしても成長できます。
何もわからない場合はひたすらプロうグラムを書き写しましょう。
慣れてくれば自分で問題(課題)を考えてみる
ある程度の問題を繰り返し解いていくと日々の生活や仕事で自動化できそうな問題を考えてみるといいです。
私も仕事で面倒で時間がかかる(頭を使わないような)作業はプログラムでなんとか楽できないか常に考えています。
最近はPythonで解析結果を一気にグラフかさせるプログラムを作成して、今まで数十分かかった作業が1秒未満で完了するようになりました。
このような実際に役に立つケースを経験するとプログラミングが本当に楽しくなります。
ゲームを開発して友達に遊ばせるのもいいし、この領域まで進められればあとは自力でスキルを伸ばすため、いくらでも勉強できるようになるでしょう。
自力で考えて解決する行動は優秀なプログラマーには必要
このように日々の生活にある問題を、自ら発見して解決しようと行動できるプログラマー は優秀な人材として企業に必要とされます。
仕様書通りにプログラムを組むことも大切ですが、それではスキルはある程度の範囲までしか伸びません。
会社以外の場所でプログラマーが集まるコミュニティに参加してみるといいでしょう。
住んでいる地域+ハッカソンなどで検索すると近場で開催されているプログラマーなどの勉強会に参加することができます。
初めは初心者だからと躊躇ってしまいますが、駆け出しの人も歓迎しているところもあるのでぜひ探してみてください。
いろんなプログラマーと交流を持つことで新しい技術を知ったり、視野を広げる良いきっかけになります。
どんどん自分の限界を超えて優秀なプログラマーを目指しましょう。