はじめに
前回の記事「プログラミング未経験者がエンジニアとして配属されるまでに使った書籍と学習コンテンツ」はとてもたくさんの方に読んでいただいたようで、トレンド入りすることができました。読んでいただき、ありがとうございます。少しでも自分と同じ初心者の方に読んでもらえれば、という気持ちで書いたのでとても嬉しいです。
さて、今回は実際に配属されて1ヶ月が経って、その中で私が困ったことと、その対処法について書こうと思います。私と同じことに今現在悩んでいる方、これからエンジニアとして現場に配属される方の参考に少しでもなってもらえると嬉しいです。
配属1ヶ月で一番困ったこと
何に困ったかと言えば、ズバリ「書かれているコードの意味が分からない」です。配属直後は、今まで書かれたコードを読み込む作業が必要かと思うのですが、新人エンジニアにとっては書かれているコードを読み込んでも全く理解できません。この分からない原因には知識ももちろんあると思うのですが、以下の3つが大きいかなと感じました。
- コード量が膨大でどこから読めば良いのか分からない
- 配属直後でそのコードが書かれた思想・背景を知らない
- コードを読み取るということに慣れていない
特に私のようなチームでの開発経験などが全く無く、本やネットのコンテンツで学んだだけの人にとっては、「他人の書いたコードを読む」ことが初めての経験で、とても苦労するかと思います。
対処法
しかし書かれているコードが理解できなければ、いつまで経っても本格的な開発に携わることができません。そこで、私は以下の3つの方法で対応しました
最小単位に区切った機能ごとにコードを読む
いきなり上のファイルから読んでいっても、全く理解できませんでした。そこで、まずはユーザーの立場になって、どういう機能があるのかを洗い出し、その機能を最小単位に区切っていきました。例えば、ユーザーが以下のようにアプリを使うとします
- トップページからAページに行く
- AページでBという情報をユーザーが入力する
- Bという情報を入力したユーザーはCページに行く
そうしたらまず「トップページからAページにはどういう仕組みで行けるのか」ということが説明できるようになるためにコードを読みます。それができたら、次は「ユーザーが入力する情報をどうやって処理するのか」、次は「Cページにはどういう仕組みで行けるのか」というようになるべく小さな単位に区切って、その挙動を説明するという目的でコードを読むようにしました。
読む目的がはっきりすると、本当に読むべきところに集中できます。これにより、読むべきコード量が膨大という問題が少しは解消するかと思います。
過去のプルリクエストを読む
過去のプルリクエストも読むようにしました。プルリクエストはある機能についてひとまとまりになっている(はず、な)ので読む量が少なくてただ上から読むより理解しやすいです。
さらにプルリクエストの良いところは、そのコードが書かれた背景も書いてあるというところです。そしてコードレビューもあわせて読めば、そのチームの思想も垣間見えます。
あまり過去のを遡るともう使われていないコードかもしれないので、最近のものから読んでいくと良いと思います。
自分でコードを書きながら既存のコードを読む
コードを読み込んで理解しないと本格的な開発には入れないかと思いますが、ちょっとしたレイアウト修正やリファクタリングならできることがあると思います。これができる環境なら、100%全てのコードを読み込む前からどんどん自分でコードを書いていった方が良いと思います。
私の場合は、先輩方にレイアウトの修正やリファクタリングの機会を与えてもらったため、本当に助かりました。自分でコードを書くとなると、目的が明確になるので、本当に読むべきところがはっきりします。
それに先述の通り、コードを読み取るということに慣れていないため、理解したと思っても、自分で手を入れてみると、思ってもいない挙動を起こすことがあります。そこで初めて「正しく理解できていなかった」ということに気付けるということが多々ありました。
終わりに
以上、「配属されたが書かれているコードが分からない」という自分の一番困ったことと、それについて自分がやったことについて書きました。実際は私もまだまだ理解できてないところがたくさんあって、悪戦苦闘中です。
ここに書いた他にも、「もっとこうすれば良いのに!」という先輩エンジニアの方々や「私はこうしている!」という同じく新人エンジニアとして頑張っている方々のコメントお待ちしています。