プログラム学習をする前に身に着けておきたいオススメの心得7選

プログラムの学習において、少なからず個人差はあるのですが、早い人には必ずといって良いほどの共通点があります。逆に、成長が遅い人はそれらが出来ていない人が多いです。

実際何度も新人研修などをしているときにも、同じような傾向が見られたので、これからプログラムを勉強しようとしているのであれば、この心得を是非覚えていって下さい

プログラム学習をする前に身に着けておきたいオススメの心得7選

プログラムと題していますが、基本的には応用の聞く心得になっています。何をするにしても役に立つものなので、覚えていって損はないです。

1.とにかくコードを書く!全て覚えてから書き出すではおそすぎる

Unityなどの場合、公式のチュートリアルや、書籍、ドットインストールなどを使って簡単に初歩の学習が可能ですが、全ての講座を見終わるまでUnityを触らない人や、繰り返して全て覚えてから実際の作業を開始するという人がいます。成長が遅いプログラミングの初心者の人は、この手のタイプの人が多いです。

吸収力の高いプログラマは、とにかく真似をしながらまず手を動かすことから始める人が多いです。
もちろん初歩的な文法などは理解する必要がありますが、そういったものは基礎学習を繰り返すのではなく、実際に成果物を作る中で発生するいろいろな問題を解消していく中で初めて身につくものです。

「基礎固め」という口実で自分にとって心理的に楽と感じる「既にやった教材を何周もする」という方法を選んでしまう人は、非常に効率の悪い学習方法を選択してしまっているということを早めに自覚する必要があります。

2.時間を有効的に使う:週20時間以上は学習時間を用意する

成長の早い人というのは、平日の朝や夜、休日の大部分の時間をプログラミング学習に投下しています。もしくはプログラミング以外にも、それを支えるインフラ周りや業務の担当外の言語学習などでも良いです。

最低でも週に20時間程度は業務時間以外での学習時間を取れないようでは、時間のマネジメントが全く出来ていないといえます。業務でプログラミングをしている人にとっても、業務と自分を高めるための学習というのはまったく別物です。

このぐらいの学習時間をまとめて作れるようにプライベートを調整できないと学習効率が悪くってしまい、復習の時間が多くなってしまいます。プログラマへのジョブチェンジを考えていたとしても、その前に挫折してしまう可能性が高くなってしまうでしょう。

残業が多くて平日の勉強が難しい!

採用担当の人が「残業が多くて大変だったから、Unityでの成果物がなくても他の人と同じ採用基準で見ますね!」とは言ってくれません。特に前職が、プログラマ現場でない人にとっては、自分でアプリ開発などのポートフォリオを作成することが必須です。

気持ちが本物であるならば、残業を1時間減らして、その分早く帰って勉強に費やすべきです。もしくは朝早く起きて、出勤までの時間を勉強に充てるなど、改善できる場所はいくらでもあるはずです。

トップクラスのエンジニアさんは時間を見つけては新しい勉強をしています。
そういう人たちを相手にしているということを自覚して取り組む必要があります。

3.検索スキルが高い!キーワードを想像できる力を養う

検索スキルというのは、知りたい情報をWeb上から見つけ出す力のことですが、これができる人はかなりの上達スピードを持っています。自分の知りたいことに関係するキーワードを想像して、関連している情報を想像するという必要があります。
人によって、状況を入れたり、環境を入れたり、できる人ほど検索のリトライをする回数も多く、結果正解にたどり着く傾向にあります。

キーワード以外のテクニック

・日本語で出てこない場合は英語で検索してみる
・時期を過去三ヶ月以内に限定する
・特定のキーワードを除外
・完全一致検索

など、同じキーワードでも調べ方を変えることで必要な情報にたどり着きやすくします。大きな規格変更があった以前にかかれていた記事を参考にすると、手痛い失敗などをすることがあるので、こういった検索スキルはとても重要になります。

成長が遅い人ほど、調べる段階で挫折してしまい、投げ出してしまう人が多いです。

検索キーワードはある程度の周辺知識がないと、思いつかないことが多いですが、「自分の問題と同じ問題に遭遇した人は、掲示板などでどういう風に質問しただろうか?」などを想像して、その中のキーワードを思い描く想像力があればある程度は思いつくことが出来ます。

仮に1度の検索で解決に至らなかったとしても、たどり着いた記事から新たなキーワードを発見することで、自分の知りたいことに近づけることもあります。粘り強く、自分の知りたいことにたどり着くために試行錯誤をできる癖をつけて行ったほうが、遥かにプログラムの上達速度が上がります。

4.情報の取捨選択ができる!判断できる材料を自分で見つける能力

エンジニアになりたいプログラミング初心者というのは一部の人達から見ると、非常においしいカモです。そのため、外部からの情報に対して、誰が情報提供をしたのか?その人の後ろではどういった利益構造になっているのか?ということを必ず理解する癖を付ける必要があります。それを怠ると、自分にとっての有益な情報ではなく、情報提供者にとって都合の良い方向に誘導されてしまいます。

例えば?

「現在UnityではBoo言語が現場で使われているので勉強しておいたほうが良いです。高単価の案件があるので、Boo言語を使えるようになると紹介出来ます」という言葉を信じて、半年間時間を費やしたとします。その結果、情報提供をしてくれた人経由での仕事をもらえたとしても、その現場の仕事が終わると、ほとんど価値のないキャリアになってしまいます。
というのも、Unityの現場で、もはやBoo言語を使っているところなどほぼありません(というか見たことないです)

これは、情報提供者の人が、採用枠を確保するために意図的に情報を提供した場合にこのようなことが起こりえますが、自分で調べると、もう使われていないことぐらいは簡単にわかります。しかし実際に金額の提示や、半年勉強したら採用確実!など言われて、ほいほいとついていってしまう人がいます。

正しく情報を判断できることで、間違った方向への努力をなくすことで、学習スピードが飛躍的に上がるのです。困ったことに、間違えた方向の方が、楽な回答がたくさんあって、引き込まれやすい人があとをたちません。しっかりと自分で正しい情報を判断できるようになりましょう。

5.質問スキルが高い!何が聞きたいかがすくわかる質問をする!

よい質問というのは、自分と質問を投げかける相手との情報の差を正しく理解し、自分の聞きたいことを引き出せるような質問です。そのためにはなぜこの質問をするのかや、どういう経緯があって今の状況になっているか、解決したい具体的な問題などをわかりやすく整理をして質問します。

具体的には
・使用しているOSやツールのバージョン
・解決したい課題を明確にする
・経緯を共有する
・自分が調査した内容を共有する
・エラーメッセージがある場合はそれも共有

このあたりをしっかり記載することでQAサイトなどの返答率がぐっと上がり、問題が解決しやすくなります。

よくあるだめなパターンで最も多いのが聞く気がないのに質問をする人がいることです。嘘だと思うかもしれませんが、本当にいます。自分の頑張ってるアピールをしたがる人がいて、真面目に返答しようとすると「もう少し考えてみます」と言って一方的に切る人です。

直にあって話しているなら多少の温度感は伝わりますが、SNSや掲示板などでこの手の質問をする人は必ず注意して下さい。自分のためにも相手のためにもなりません。

補足

わかりやすい質問が出来ないという人は、仮にエンジニア業界に就職できたとしても、日々の業務の中で、先輩エンジニアの人たちから手厳しく指摘される可能性があります。精神的にもきつい上に、人間関係の悪化につながる可能性もあります。できるだけ早い段階でわかりやすい質問をするスキルを磨いておいたほうが良いです。

6.仲間づくりやライバルづくりが盛ん!

一人でも勉強を続けられる人というのはいますが、長期間の学習となると、どうしても緩んでしまう時期があります。そういうときに、自分の目標とする人や、同じ目標を持った人のとの交流があると、強い励みになります。
あの人が勉強やっているなら自分も頑張らなきゃ、など発奮材料にもなります。勉強を自分でデキる人というのは、こういったモチベーションのコントロールの上手な人が多いです。

ツイッターなどでも「#今日の積み上げ」タグなどで、自分の進捗共有をすることで、いいねがもらえるだけでもかなりの励みになりますし、そういったつながりを作っておくほうが励みにもなります。

7.学習における、仕組み化と習慣化をしっかり出来ている。

プログラミングがしっかり上達する人に限りませんが、何かで成長しようと思った場合、長期間継続して続ける必要があります。しかし、自分だけでモチベーションを維持し続けるのは先程も言ったとおり難しいです。

そういったやる気を自動的に掻き立ててくれるような環境を作ってしまうほうが、意思のちからに頼るより、成功する可能性がぐっと上がります。こうやって見ると、プログラミングの習得が早い人ほど、自分が出来ないことを自覚している傾向にあります。

モチベーションの掻き立て方参考例

・目標を公言して、自分を追い込む
ツイッターやFaceBookなどで「半年以内にUnityでアプリを作って、ゲーム業界に入ります!」のように周りに宣言して自分を追い込む。

・コワーキングスペースなどを利用する
自宅だと誘惑が多かったり、集中力に欠けることが多いので、レンタルスペースを利用して、気持ちを引き締める

・誰かに監視される
メンターを雇って、自分の進捗に対して口出しをしてもらう。

など様々なものがあります。自分がどうされると焦るかを知っていると、それをうまく利用すると良いでしょう。

まとめ

プログラマに限らず、かなり基本的なことに絞ってお話しましたが、いかがだったでしょうか?
バッドパターンに当てはまっている事があれば、今すぐに改善してみましょう。

  • とにかく手を動かす
  • 時間を有効に使う
  • 検索スキルを磨く
  • 情報を正しく読み取る
  • 良い質問ができるようになる
  • 仲間やライバルを作る
  • 仕組み化をして、モチベーションを保つ

勉強に限らず業務にも必要なことばかりですね。