menu

2021/08/16

エンジニアの心得④

皆さん、こんにちは!

当方、都内のとあるITベンチャー企業に勤める中堅エンジニアのオリハラです。

 

さて早速、エンジニアを始めて日が浅い方々へ質問です。

開発中にエラーが発生して、「先輩エンジニアへ質問したいけど、どう伝えたらよいかわからなくて、うまく説明ができない、、、」なんて思うことありませんか??

 

今回は、これからエンジニアとして成長していく初心者の方に向けて、開発中にエラーが発生したときの「先輩エンジニアへの上手な質問の仕方」について簡単に触れていきたいと思います!

後輩を持つ先輩エンジニアの方も、とても良い復習になると思うので、ぜひ読んでください!!

 

まず、質問をする時のポイントですが、大きくまとめると3つあります。

それは以下の通りです。

 

---------------------------------------------

①どのような条件下(手順)でそうなったか。

②どのような結果が望ましいのか。

③どのようなエラーが発生してしまったか。

---------------------------------------------

 

この3つのポイントをそれぞれ詳しく説明していきます。

 

- ①どのような条件下(手順)でそうなったか。

 

まず、エラーの原因を探るにはそのエラーを再現させるための条件が必要です。その条件とは実行環境や実行手順のことを指します。なぜ原因を探るのにそれを再現する条件が必要かというと、そのエラーが起こるときの全体の状況をできるだけ多く(広く)把握する必要があるからです。エラーにはさまざまな種類があり、ひとえにエラーが起こったといっても何が原因でそうなっているのかは、すぐにわからないことが多々あります。エラーの原因を探るには、エラーが起こる状況をできるだけ”詳細"に把握し、様々な可能性を考える必要があります。だからこそ、どのような条件下(手順)でそうなったか、を説明することが重要になります。

 

- ②どのような結果が望ましいのか。

 

次に、予想結果を説明する必要があります。予想結果になるときの状況と、エラーが起こったときの状況を照らし合わせて、どこが悪いのか調査をするためです。開発業務に携わっているエンジニアの方だと、ここでいう予想結果とは基本的に設計書・仕様書に記載された仕様に沿った内容になるかと思います。

 

- ③どのようなエラーが発生してしまったか。

 

最後に、エラー内容を説明する必要があります。①の説明の際にも触れましたが、エラーにはさまざまな種類があります。しかし、たくさんあるとはいってもエラーも分類化されています。エラー内容を説明することで、まずエラーの分類を特定することができ、ある程度的を絞ったうえで、原因の調査をすることができます。

もっと先輩エンジニアにうまく説明できるように補足をしておきますと、エラーの内容を説明する際に、エラーが発生した際のログも見せることができると良いです。エラーが発生したときのログにはたいてい、システム上のどの機能のどの箇所(...○○Controllerの○○行目...、みたいな)で発生しているか、が載っています。それを見せることができると、実際にエラーが起きている箇所(タイミング)も知ることができるので、調査が楽になります。

 

 

以上、質問をする際のポイント3つを詳しく説明してみましたが、覚えることができたでしょうか?

 

なお、今まで説明してきた3つについては、実は「原因特定まで至っていない場合の質問の仕方」なのですが、慣れてくると実際に自分でエラーを修正するようになっていきます。

 

そうなってきたときに質問する場合は、もう一つ重要なポイントが出てきます。

 

それは、「④エラーに対して今どのフェーズにいるのか」です。

 

エラーにはフェーズというものがあります。

フェーズは主に以下に分けられると思います。

 

---------------------------------------------

1.発見

2.情報収集&再現確認

3.原因調査・特定

4.修正・テスト

5.レビュー

---------------------------------------------

 

これらのフェーズのうち、自分が今どのフェーズにいるのかを説明できていないと、先輩エンジニアへ質問した時に期待する答えが返ってこない可能性があります。例えば、「今はもう原因の特定まで終わっていて、修正方法がそれでよいのかどうか質問したかった」のに、先輩エンジニアにエラーの原因が知りたいのかと勘違いされて、エラーの原因について教えてもらっても意味がありませんよね。(時間のロスにもつながりますね。)そのため、エラーに対して自分がどのフェーズにいるのかということも説明することが重要です。

 

 

説明が長くなってしまいましたが、ここに上げたすべてのことを心掛けていれば、大体は先輩エンジニアにうまく説明できると思います。

 

まあ、あくまで一例なので、慣れてきたら、ここに書いた内容をベースにしてアレンジすることで、もっとわかりやすい質問の仕方を編み出せるかもしれませんね。笑

 

さて、今回は「先輩エンジニアへの上手な質問の仕方」について触れてみましたが、いかがだったでしょうか。少しでも役立つ情報となれば、幸いです!

 

またの更新を楽しみにお待ちください!

ありがとうございました!