こんにちは、フリーエンジニアのてぃすです。
最近では未経験者からプログラマー・エンジニアへの転身を志しプログラミングを学習を始めている人が増えていますね。
しかし理解出来ない部分が出てきたり、モチベーションを保てずに学習途中で挫折していまうという話も多く耳に入ってきます。
そこで今回は文系出身から職業プログラマーへ進んだ僕が、挫折しないプログラミング学習の進め方・心構えについてお話していこうと思います。
目的が具体的にイメージできる教材を使用する
プログラミングの学習を始めて間もないときに、
- 変数に値を代入
- クラスを生成する
- オブジェクト指向
などと言われてもピンとこないと思います。少なくとも僕はそうでした。
そのあたりの概念が理解できていない状態で、教材に言われるがままにコマンドプロンプトやターミナルの真っ黒背景の画面に呪文を打ち込んで、『Hello World!』などと表示されたところで「だから何?」となることでしょう。僕はそうでした。
にも関わらず世間に出回っている教材の多くが、このように初心者をおいてきぼりの状態で価値を想像できない作業を進めることを強要して来ます。
これじゃモチベーションの維持は難しいですし、達成感も皆無。そして何より楽しくありません。楽しくないものを続けるのは苦痛です。
じゃあどのように学習すればよいのか。
それは実際に役に立つ状況を想像できる機能を作成しながら学習を進めるタイプの教材です。
具体的にはWebサイトを作りながら進められていく教材がオススメです。
例え単純なものでも、日頃インターネットを通じて触れているWebサービス・Webアプリに類似した成果物の完成に向けて作業を進めることが出来れば、モチベーションと達成感を得ながら継続していくことができます。
最初は指示されるがままにコードを書いたり環境の設定をすることになるとは思いますが、プログラミングという手段がWebサイトという結果に繋がるプロセスを体験することは、ジワジワと貴方の学習効率を上げてくれます。
本を使って学習する場合、実践形式で進められる教則本 + 辞書的に使える基本的な内容の教則本を組み合わせれば効率的に学んでいくことができるでしょう。
また現在はインターネット上に良質な学習ページ、記事が揃っていますのでそれらを利用するだけでもプログラミングの技術を身につけることが可能です。
参考までに以前書いたオススメ入門用プログラミング言語の記事を貼っておきます。
https://tisnote.com/programming-ruby/
100%理解しなければならないという考えを捨てる
テキストや学習サイトの1項目1項目、完璧に理解してからでないと次の項目に進まない、というスタイルで学習を進める人が結構います。
プログラミングの学習においてそういった考えは捨てましょう。
学習を進めていく中で、どうしても理解できない部分というのは出てくるものです。
しかしその躓きに執着し、理解できないことで自分には向いていないと感じてしまうことは学習意欲を著しく削いでしまいます。
『クラスとか名前空間とか何のことかよく分からなくて』『例外処理とか意味わからん』などという理由で学習を中断してしまった話はよく聞きます。
それは非常にもったいないことです。自分は仕事としてプログラミングに携わっていますが、理解できない機能や法則なんて未だに山ほどあります。
「今はあんまり理解できないけど、そのうち分かるようになるだろう」
くらいのスタンスで進めていくことが重要です。別の項目で学んだことが躓いていたところのヒントになることもよくあります。
プログラミングに詳しい人と話をするチャンスが巡ってきてその時に解決することもあるでしょう。
鉛筆の持ち方がわからなくても字は書けます。
几帳面な人には難しいかもしれませんが、分からないところは思い切って飛ばす勇気を持ちましょう。
3.インターネット上でとにかく調べる
学習を進める中で分からない用語や処理が出てきた時はガンガンGoogleで調べましょう。
教材の中では具体的に述べられていない項目について、インターネット上には有益な情報が転がっていることはよくあります。
同じく学習を進めている人のブログ記事や、現場で働いているプログラマの備忘録などが思わぬヒントとなることを今まで何度も経験してきました。
プログラマーとして仕事をしていく上で最も奪われると厳しい道具と言われれば、僕はブラウザであると答えます。
プログラミング開発を行っていく上で重要なことは調べることです。
よっぽどの上級プログラマーでもない限り、頭の中に入っていることだけで開発を進めることは難しいです。
そこで求められるのは上手に必要な情報を調べる能力です。
たかが検索、されど検索。検索条件に入力するワードによって求める情報に辿りつけるかどうかが左右されます。
学習の中で調べるスキルを洗練させていけば、いつか実際にプログラミングで何かを作るとき、業務でプログラミングを使用するときに必ず役に立ちます。
どうしても求める情報が見つからないときは質問掲示板、特にプログラミング特化のteratailなどで質問してみるのもアリです。
まとめ
いかがだったでしょうか。
ここまで述べた心構えはもちろん重要ではありますが、一番大事なのは『プログラミング技術を習得したい』という強い意思です。
何かしらプログラミングを学習しようと思うに至った理由があると思います。
その一番の動機とプログラミング技術を身に付けた後に得られるであろうメリットを、常に意識しながら学習を進めていきましょう。
今回の記事がプログラミングの学習を始めようと思っている人、挫折しかけている人の助けになれば幸いです。
閲覧いただき、ありがとうございました。