CodeCampNEXT「コーディングレベルアップコース」を研修として受講されたフロイデ株式会社の萩原さんにインタビューを行いました。
コーディングレベルアップコースは大手企業に監修された実務に即した良いコードを書くための知識(可読性・保守性・拡張性・効率性)を身につけることで、現場で生産性・品質共に高い開発ができるようになるコースです。
エンジニアとして働き始めて2年目の萩原さんに、コースを受講した感想や学習の成果を語っていただきました。
「良いコード」についての知識が不足していた
- 本日はありがとうございます。 まずは萩原さんがいま担当されている仕事について教えてください。
新卒でエンジニアとして入社して今2年目です。自社で開発している婚活・マッチングサービスのバックエンドの開発(Ruby)やフロントエンドの開発を担当してきました。
もともと、大学は文系で社会人になるまでプログラミングの経験は無かったんですが、福岡でエンジニアとして働きたくて未経験から育ててもらえる今の会社を選んで入社しました。
- コース受講前はどのような課題や悩みがありましたか?
コーディングレベルアップコースの受講前は、コードの品質や良いコードの書き方について理解できている実感がわかなくて、コードをちゃんと書けるようになるための知識が不足していると感じていました。
入社時にはプログラミングや開発についての研修があったんですが、現場に入ると仕事をすすめることが優先で「良いコードの書き方」について一から学ぶ機会がなかったので、エンジニアとしてある程度経験が積めた今のタイミングで学び直したいと思っていて。ちょうど今年の3月に会社から受講を薦められたので受けることにしました。
- 仕事では、具体的にどのようなことに困っていたのでしょうか?
担当しているWebサービスは私が入社する前から開発しているので、これまでに先輩が書いたソースコードを読んで見よう見まねで開発をしているような感じで、何が”良いコード”なのか本質的に理解できていないことが多かったと思います。
例えばロジックの理解が浅いので、とりあえず既にあるコードの処理を真似して書いてしまったり…していました。
また、職場では私が書いたコードをレビューしてくれるリーダーがいるんですが、それ以外に年次が近いエンジニアで自分と比較できる対象が身近にいないことも悩みでした。
エンジニア2年目として、自分はどれくらいのスキルを身に着けておくべきなのかわからなかったんです。
他社のエンジニアと学び、自分の立ち位置を知ることができた
- 今回はコーディングについて3月から5月まで2ヶ月かけて学習していただきました。2ヶ月の受講期間中は、どのように学習を進めていましたか?
受講期間中は仕事が終わったあと週に2〜3日、2時間くらい勉強時間を確保していて、決められたスケジュールに遅れないように頑張っていました。
この講座はオンラインで学習をすすめることができたので、自分の好きな時間に学習を進められて仕事と両立しやすかったです。
私は夜行性なので夜遅くに勉強することもあったんですが、疑問点はいつでもチャットから質問できましたし、自分で勉強する時間をコントロールできるので、やらされている感がほとんど無かったですね。
- 受講中、毎週木曜日に開催される勉強会にも参加頂きましたが、他の受講生や講師と一緒に学んで得られたことなどはありますか?
まず、勉強会は他の人がどこまでカリキュラムを進められたのかわかるので刺激になりました。
あとは、他の受講生が講師に質問している内容を聞いて「そういう考え方もあるのか」と、一人で学ぶよりもいろんな視点を取り入れて学ぶことができたと思います。
これまで、他社のエンジニアがどんなスキルを持っていてどう仕事をしているのか触れる機会が少なかったので、他社の受講生と一緒に学ぶことで立ち位置を知ることができました。
参加当初は、他の人と比べて「自分はできないんじゃないか」と気になってたんですが、「実は、みんなも同じように悩んでいるんだな」と知ることができて安心しました。
「コードの品質」を意識して仕事ができるように
- 受講前と受講後でどんな変化や成長があったと思いますか?
受講して、コードへの意識が変わりました。
これまでは理解しないまま既存のコードをなぞるだけでしたが、今は「目の前のコードがどういう意図で書かれたのか?」を理解しようとする習慣が身に付きました。
コードを読む時にどう読めばよいかという視点が持てるようになり、コードを理解できることが増えてきたと思います。
コードの効率化の点でいうと、例えば重複を避けるように意識ができたり、「このコードは効率的ではない」と気がつくようになってきましたね。
- いいですね。仕事や職場でのコミュニケーションではどんな変化がありましたか?
例えば、一度つくったメソッドも他の箇所で活用できるのでは?という発想ができるようになりました。その場限りのコードを書くのではなく、別の開発でも同じように使えるなと思ったり。
既存のコードに対して疑問を持てるようになったので、上司や他のメンバーに質問する頻度も増えました。
まだまだ自分がリードするほどの立場にはなれませんが、コードの品質について意見が言えるようになってきたと思います。
あと、これまでコードレビューで基礎的な部分に対して指摘が入ることが多かったのですが、自分で作ったロジックに対して指摘が入るようになっていて、レビューされるポイントも変わってきたと感じています。
自分の力で、1からシステム開発に挑戦したい
- 学んだ内容を着実に仕事に活かせていて素晴らしいですね。これからどんなことに挑戦したいですか?
今回は、品質の高いコードの書き方を学ぶことができたので、自分でシステムを一から開発してみたい気持ちになりました。
学んだことを活かして自分で新しくシステムをつくってみたいなと思います。仕事では既にルールが決まっているので、自分でコーディングルールを決めるところからやってみたくなりました。
あとは、もし後輩が入ってきたら自分が教える立場になるので、まだ自信は十分ではないですが自分が学んできたことを教えることができるといいなと思っています。
– 人に教えることが学びにも繋がるので、学んだことを自分のモノにするにはいい機会になりそうですね。最後に、これからコーディングレベルアップコースの受講を検討している方にメッセージをお願いします。
私のように経験の浅いエンジニアがコースで学んだことを業務中に意識することで、見える世界が変わってくると思います。
学んだ後、これまで意識できていなかったことに気がつけるようになった実感があります。疑問に思えなかったことが「おや?」と思えるようになって、それを周りに伝えることでいいコードに近づくことができるようになってきました。
あとは、エンジニアとして働き始めてまだ型が定まっていないうちに良いコードの書き方を学んだほうがいいと感じています。
私が入社してすぐの研修で学んでも理解できなかったと思いますが、実務を経験した2〜3年目くらいのタイミングで知識として身につけられると、コードを書くのが楽しくなると思います。
-本日はありがとうございました。学んだ事を活かして、活躍できるよう応援しています。
■CodeCampNEXT コーディングレベルアップコース紹介ページ
https://codecamp.jp/next/coding-skills/
■CodeCamp 法人研修のお問い合わせ、ご相談はこちら
https://codecamp.jp/business/contact