ハル研ブログ BLOG

スキルアップ
執筆者:瀬下 タグ: プログラマー

学習サポートの仕組み!中期スキルアッププログラム

こんにちは!入社2年目のプログラマーの瀬下です。
今回は私の所属する部署で行われている「中期スキルアッププログラム」について紹介します。

中期スキルアッププログラムとは?

仕事をするときに必要な知識について勉強する、というのはよくあることだと思います。
一方で、「知っていた方がいいけれど、今知らなくても仕事に差し支えないこと」や、「学習してもすぐに結果が見えないこと」は勉強しないままになりがちですよね。
中期スキルアッププログラムは、そんな「即効性はないけれど数年後に自身やチームにとってプラスになりそうなこと」を身につけていくための取り組みです。
メンターとなる同じ部署の先輩社員から、学習リソースの提案や学習の習慣化のサポートといった支援を受けつつ、業務時間の一部を使ってスキルアップに取り組むことができます。
私は新人として今の部署に配属されて以来、1年以上中期スキルアッププログラムに取り組んできました。
中期スキルアッププログラムは必ずしも新人を対象にしているものではないですが、今回は私が入社1年目から今までに取り組んだ体験をお伝えします。

実際にやったこと

最初にメンターと相談して学習内容を決めました。
私の場合はプログラミングの知識に不安があったので、まずは体系的にC#を学習し、基礎を固めることを目的にしました。
現在の自分のレベルに合った学習内容をメンターに一緒に考えてもらえるので、安心して取り組むことができます。
以降は、業務時間のうち、毎月2~3日分の時間を確保して学習に取り組んでいます。
業務時間中にスキルアップのためだけの時間がもらえるのはありがたいですね。
さらに、毎月1回1時間ほど、学習の方向性や取り組み方についてメンターに相談する時間が設けられ、フィードバックをもらいながら学習を続けています。
実際にどんなことに取り組んだかと言うと、私の場合はメンターと相談して以下のことを行いました。

・技術書を読む

私のレベルと業務内容に合わせて技術書を選び、読み進めます。
私の場合は「独習C#」、「Effective C#」、「独習C++」を選択しました。
さらに読んでいてわからないことがあったら、その場で先輩に質問してOK!
これは自習にはないメリットです。

・学習内容をまとめる

技術書から学んだことや気づいたことをまとめたWeb記事を作成し、社内に公開します。
ただ技術書を読むだけでなく自分の言葉でまとめることで、より深い理解につながります。
後からいつでも見返すことができますし、新たに知識を得たときにはその都度付け加えることも可能です。
学習したことの蓄積が目に見えるのもよいポイントです。

・コードを書く

実際に手を動かしてコードを書きます。
内容は技術書の演習問題がメインでしたが、最近は自分が興味をもった社内ツールをカスタマイズしていたりもします。
社内の豊富なリソースを実際に動かしながら学習できる、というのは社内で学習することの利点です。

・コードレビューに対して積極的な姿勢で取り組む

業務内でコードをレビューする際、積極的にコメントすることを心掛けます。
コードレビューのコメントでは指摘や修正の提案だけでなく、質問をしても良いことになっているため、積極的に質問をすることで知識を増やしていきます。
気軽に質問ができる環境があるからこそできることですね!

・所属プロジェクトに追加されるコードの差分をすべて見る

所属しているプロジェクトに新しく追加されるコードの差分を適宜確認します。
自分の所属しているプロジェクトへの理解や、先輩のコードを読むことで良いコードの書き方を学習しました。

取り組んでみて良かったこと

・学習の方向性や方法についてアドバイスがもらえる

私は「ハル研で良いゲームを作るぞ!」「そのために良いプログラマーになるぞ!」と思っています。
そこで、「良いプログラマーとは何か」を改めて考えてみると、その答えの一つに「様々な知識をもっている」ということがあると私は思います。
では「様々な知識」とは、具体的にどのような知識なのか?
特に最初のうちは、そもそも「様々な知識」とは何か、何を学習すれば成長につながるのかがわからない状態に陥りがちです。
何をすればいいかがわからない」という状態ですね。実際、私はそうでした。

この中期スキルアッププログラムでは、私の現状を考慮して学習内容を先輩が一緒に考えてくれます。
努力の方向性を指し示してくれるのは心強いですね!
また、これまで私は「今やっている学習内容よりも、もっと別のことをやった方がいいのでは…」と悩んで中途半端になってしまうことがありました。
先輩にアドバイスをもらうことで学習の方向性に悩むことがなく、学習自体に集中できるのも、中期スキルアッププログラムの良い点です。

・継続して学習することへの意識付けができる

学習に取り組む中で大事なことの一つに、継続するということがあります。
プログラマーとして働く上で、新しいことを学び続けることは必要不可欠なことでもあります。
中期スキルアッププログラムでは業務時間内に学習時間を取っているため、必ず継続して学習することができます。
その経験を通じて、単純なスキルアップだけでなく、効率的にスキルアップするための方法や習慣を身につけることができます。

具体的な例として、技術書の読み進め方を挙げます。
私は最初、技術書に書いてあることを一度ですべて理解しなくてはいけないと思い、わからないところでつまずいたまま進まない、ということがありました。
月一回の情報共有会でメンターに相談したところ、「技術書を読み進める前に、目次を見て重要な項目かどうかを判断してから読み進めてみてはどうか」というアドバイスをもらいました。
以降、自分で学習をする際も重要な項目か当たりをつけて読み進めるようになり、読書スピードが向上しました。

・新しいことを学習するきっかけになる

最初のうちは私が何を学習すればいいかわからない状態だったこともあり、提示された学習内容をそのままこなす、という形でした。
しかし、私の基礎的な技能が固まってくるにしたがって、私の希望を元に取り組み内容を決めるという形に変化してきました。
何事も「少し興味がある」という状態から「実際にやってみる」ということの間には、大きな壁があると思います。
その壁を越えるためのサポートを受けることができるのは助かりますし、そこから自力での学習へもつなげやすくなります。
なにより、興味のあることを学習することはモチベーションにもつながります。

おわりに

私の場合は、新人研修終了後にも中期スキルアッププログラムという形でサポートを受けられて心強かったです。
さらに、中期スキルアッププログラムでは単純にスキルアップをするだけではなく、スキルアップのための方法について学習できます。
先輩が私のために一緒になって学習方法を考えてくれることもモチベーションにつながり、良い学習サイクルを築けたと思います。
この経験は、私が今後プログラマーとして成長していく上での支えになるでしょう。
ここまで協力してくださった先輩方には感謝の気持ちでいっぱいです。
現在私は支えてもらう側の立場ですが、いずれは私が先輩方から受け継いだものを後輩たちへと還元できる立場になりたいと考えています。
そして、いつまでも皆さんの心に残るゲームを作り続けていきたいです。