📓

新卒研修期間3ヶ月で得た教訓

2023/06/28に公開

はじめに

2023年4月からWebエンジニアとして働き始めたせーと申します!
入社してから3ヶ月が経過し、研修期間が終了するため、今回はその3ヶ月で得た教訓をまとめていきたいと思います。

これから入社する24卒以降の方、この春入社した23卒の方の参考になれば幸いです。またすでに就職されていた方にも入社時こんなんだったな〜と懐かしんでもらえたら良いなと思っています。

学んだこと

gitのコミットメッセージを一目でわかるように

これまでブランチ名がある前提のコミットメッセージを書いていました。
しかし、マージされてしまったらそのコミットはどこのブランチで制作したかがわからなくなってしまうので、どのような変更をしたのかが一目で分かるようなコミットメッセージを書くようにしようと心がけるようになりました。

❌ git commit -m "fix: レビューの内容を修正"
⭕️ git commit -m "fix: 〇〇クラスの〇〇メソッドに例外処理を追加"

プルリクエスト(マージリクエスト)はレビュワーに親切に

チームメンバーのコードをレビューする機会があり、実際に自分がレビュワーの立場になるとレビューするためにこのような情報がほしいと感じるようになり、その情報をプルリクエストに書くようになりました。
そのチームによってプルリクエストに書く内容は異なると思いますが、最低限以下の情報は書いておいた方が良いと感じました。

- プルリクの概要
- 実施したこと
- 見てほしいところ
- アドバイスが欲しいところ
- 補足(今回は実装しなかった箇所など)

また、1つのプルリクエストが巨大になりすぎるとレビューが大変になるので、1つの機能が大きすぎる場合はできるだけ分割してプルリクエストを出すと良いと思います。

プルリクエストに関してこちらの記事が参考になりました
https://qiita.com/marumaru0113/items/c53db580b812f8f6d4da

設計・仕様認識の大切さ

設計が曖昧だったり、仕様の認識がチーム内で異なっていると後々手戻りが発生してしまうので、最初に仕様をチーム内で明確にするべきだと感じました。
研修内で仕様がはっきりしていない箇所があり、チームメンバー・テスターとの間で認識が異なってしまい、余計なコミュニケーションが発生してしまったので、設計の大切さや曖昧箇所の確認の大切さを学びました。
アジャイル開発等の最初に全体の設計をしない開発手法だとしても、チーム内で認識が異なっていると手戻りが発生し、結果的に余計に時間がかかりかねないので、チーム内での認識共有は必要だと感じました。

前提を疑うことの大切さ

研修内でデータベースにデータが入らないと思っていたら、実はデータベースの初期設定が間違っていて弾かれていたということがありました。そのほかにも、設計書の内容が誤っており、フロントエンド・テスターの方との齟齬が生じたことがあったのでチームメンバーのことを信じつつ、制作されたものに関しては疑うことも必要になると思いました。

QCDの意識

プロダクトはQ(Quality)、C(Cost)、D(Delivery)の3つの要素を意識する必要があり、その3つの要素をバランスよく実装していく必要があります。
これまでは、私がプログラミング始めた時期が遅い+ハッカソンによく出ていたということがあり、Dをよく意識していたのですが、実際の仕事ではこれら3つの要素をバランスよくしていく必要があるので、今回の研修では3つの要素、特にQの部分を意識して開発を進めていました。
実務ではCostという面も意識していく必要があるので、限られた時間・リソースの中でできる限りQCDの高いものを作っていきます。

ユニットテストの大切さ

始めはユニットテストを書こうと思っていましたが、時間の都合上書くことができませんでした。その結果、フロントエンドとの接続時やテスターにテストしていただいた時に、いくつか仕様と異なる箇所やバグが発生してしまい、他の工程に影響を与えてしまいました。そのため最初に時間はかかってしまっても、ユニットテストは書くべきだと感じました。
今回の研修では作って終了ですが、実際には運用して修正していくことも発生するので、その観点でもユニットテストをちゃんと書こうと思います。

優先順位の付け方

研修の後半部分でテスト実施期間がありましたが、テストを実施する上での優先順位付けがあまりできなかったため、テスト実施が遅れてしまいました。
最初に優先順位付けをしていましたが、テスターさんの考えていることと私たち開発者が考えていることが異なっていたため、結果的にテスト実施が遅れてしまいました。そのため自分の中で優先順位をつけるだけでなく、関係者とのコミュニケーションを取りながら優先順位をつけていく必要があると感じました。

わからないところは調べる・質問する

この観点に関しては、研修を通しての目標にしていました。
わからないことに対してわかったふりをしてしまうということが今まであったため、わからないことは調べ、それでもわからなければ質問することを徹底してわからないところをしらみつぶしに減らしていきました。
これまで避けていたようなところも調べたことによって、言語の理解も深まり人に教える時にも説明しやすくなったので、これからも少しでも頭の中で疑問が浮かんだら調べる・質問するを徹底したいと思います。

おわりに

研修の中で学んだ上記のことを意識しようと思いつつも、間違いなく忘れてしまうことがあるので時々この記事を見返して、研修の時こう感じてたな〜と思い出していきたいと思います。

Discussion