毎日何故か、IT用語を使った謎掛けをしている、ユゲタです。
「プログラミング学習」とかけまして、
「おでんの田楽」と、ときます。
そのココロは・・・
うまいソースがミソです。
プログラミング初心者の悩み
プログラムが使えるようになると、仕事にも自分の生活にも色々と有利なことが多いため、右も左も分からずに学習し始めてみたが、ハッキリ言って自分に向いていないと考えてしまう学習者は、意外と少なく有りません。
プログラミングは理数系の方が有利と考えて、文系の自分には、不向きなジャンルと決めつけてしまう傾向もあります。
でも、実際にプログラミングを勉強している人で、スキルが伸びるタイプには、特定の事をやっているかどうかの違いがあるだけで、とある簡単な勉強をするスタイルを身につけるだけでいいんですね。
僕のこれまでの経験で、スキルアップできるプログラミング学習スタイルを紹介したいと思います。
勉強日誌をつける
プログラミングを学習している時に、プログラムを入力しているので、それ自体が備忘録になっていると感じガチですが、何かに書き込んで痕跡を残しているようで、実はそれは何の備忘録にもなっていないことが多いようです。
あとで、思い返してもそのプログラムの意味がわからなくなったり、そもそも、コピペで作られているため、プログラミング自体を理解できていない事もあるので、わかったことを、メモにとる事を習慣づけたほうが良い。
手書きのノートでもいいし、パソコンに入っているメモ帳でもいいのですが、これから長く続く学習日誌と考えると、いつでもどこでもPCでもスマホでもアクセスできる、メモ帳がオススメです。
タイピングの練習にもなるし、メモをしたファイル管理とプログラムファイル管理を身につける練習にもなるので、めんどくさがらずにやることが重要。
おまけ
ちなみに、自分の場合は、メモ帳に記録をせずに、root階層に"README.md"ファイルを必ず作ってメモするようにしている。
内容が増えてきたら、作業階層にdocsフォルダをつくって、それぞれのカテゴリ別にファイルを保存してmarkdown形式で記載していくようにする。
そうするとgithubにアップした時に自然とREADMEが書かれている状態も作れて一石二鳥。
記入するフォーマットなどが定まってくれば、非常にドキュメンテーションに強いエンジニアへと成長していくことができるので、必ずオススメ。
プログラムの自己ルールを作る
絵描きが、その時の気分で自分の描く絵が変わってくるように、プログラミングも自分の気分次第で色々と変わってくる。
しかし、「リーダブルコード」のような書籍を読むと、コーディングのルール化がいかに大事であるか思い知らされる。
そして、自分の作ったプログラムを半年後ぐらいに見ると、書き直したくて仕方がなくなるはず。
最悪なのは、自分のルールが無い時に、毎回コーディングする方式がバラバラで、自分でも後で見直してみたら何を書いているかわからなくなってしまうケース。
変数や関数の命名規則だけでなく、フォルダ構造や、プログラム構築の手順なんかも、気分次第で行っていては、プログラミソースコードが、少し大きく膨らんだ時に引き返せなくなる。
「あとから手直せばいい」と考えていても、必ず闇に葬り去られてしまうのがオチ。
プログラミングは、コンピュータにルールを作っていく作業のはずなので、そのルールの根底になる理論を持っていない人が作ったプログラムは、危なっかしいジェットコースターに乗るようなものだ。
いつ壊れてもおかしくないし、脱線しても原因がわからなくなるだろう。
何かしらのルールを意識するだけでもスキルアップにつながるので、意識してみよう。
疑問に思ったことを必ず実践する
プログラミングを学び始めた時は当たり前のようにわからないことだらけだし、覚えることが多すぎて、「わからないことがわからない」という状態に陥ってしまう人も多いようです。
少なくとも初心者じゃなくても、言語で新しい開発を行う時に、どのような動きになるかわからないけど、アイデアがある状態の時に、そのアイデアや、方式などを後回しにするタイプのエンジニアは、成長が非常に遅い傾向がある。
逆に、些細なことでも、すぐに自分で試していくタイプはどんどん伸びていくし、不可能な事を潰していく作業でもあるので、頼もしいぐらいに成長する。
この「疑問に思う」ということすら発生しない人は、プログラミングをやっていても応用が効かない人が多いので、何かのソースを書いた時に、「こう書いたらどうなるだろう?」というレベルの疑問や、「同じ処理をもっと効率的に書くためには」というような疑問を感じられるようにしましょう。
人の作ったプログラムをよくみて理解する
自分よりスキルの高い人が作ったプログラムは、必ず何かしら学ぶ箇所があります。
「自分の書き方と何が違うか?」という間違い探しのような見方から、「この人は何故こういう書き方をするのか?」というところから、その人のルールを見つけてみたり、その書き方を自分なりに置き換えてみたりすることで、そこに独自のルールを見いだせるかもしれません。
人(他のエンジニア)の話を効く
他人のソースを見るのと同じで、実際に目の前にプログラムを書いた人がいるのであれば、そのソースコードについての説明に耳を傾けてみよう。
自分が想像するよりも、ずっと深い思考を話してくれるに違い有りません。
手軽に人のルールを知る一番いい方法なのですが、聞いていると、プログラミングは、何に焦点を当てて作っているかで、作り方がまるで違うという事に気が付きはじめるでしょう。
自分のプログラムを人に説明する
学習するときに、インプットして、メモしているだけでは、スキルアップの半分ぐらいしか得られないでしょう。
これは、学校の勉強などをする場合にも有効なのですが、学習スピードをさらにアップさせるためには、
「自分の学んだ事を人に教える」という行為をするのがいいようです。
僕の知る、優秀なプログラマーのいる企業というのは、中にいる人だけで、プログラミング勉強会を行っている会社という事実もあります。
教わるだけではなく、教えることで、より自分の理解度も高まるし、人に見せるという意識を持ってプログラムを作ることになるので、よりしっかりとした方向にすすめるでしょう。
本を読む
当たり前ですが、書籍は学習目的が簡潔にまとまっている状態になっているので、非常に有効な学習材料です。
ただ、自分にとって少し難しい内容である場合、読むのが苦痛になるのですが、近くにいる詳しい人に説明を聞くことができるとスムーズに読む作業も進むかもしれません。
読書会などが有効な点は、複数人で思考をする事で都度、疑問を解消していく事ができるからでしょうね。
諦めたらそこで終了ですよ
プログラミングが自分に向いているかどうかを判断するのは、最終的に自分自身です。
挫折してしまう人もいる一方で、わからないで済まさないという学習意欲も重要なため、そうした事を受け止めてくれるメンターという存在も重要かもしれませんね。
ネットやSNSなどで自分と同レベルの人とつながるというのも悪くないかもしれませんね。
さて、この記事を最後まで読んでくれた人は、プログラミング教育に何かしら興味がある人と考えられるのですが、あなたの学習ポイントはどんな感じでしょう?
0 件のコメント:
コメントを投稿