🦔

これできないと現場でヤバい❗️開発エンジニアの質問の正しいやり方

2023/11/22に公開

概要

自分が未経験時代に現役のCTOから質問が下手すぎて、
質問するたびに注意されてました。「なんで俺だけこんな言われるんだー」って
思いながらやってましたが、ある時質問力が上達したら
あまり詰められたりしなくなり、違う環境でも「質問が上手い!」と褒められました。

質問が上手いか下手かで今後のキャリアが左右されたりするみたいです。

この記事の対象者

  • 未経験エンジニア
  • 若手エンジニア

質問が上手いとどいういメリットがあるのか

  • 仕事ができる人と思われる
  • 他のエンジニアの時間を奪わないので工数削減(つまり利益貢献につながり収入upにつながる)
  • 困った時に欲しい回答が返ってくる

質問が上手いと褒められた話

質問が下手な時は毎回厳しい指摘ばかりでしたが、
質問がしっかりできるようになってから開発もスムーズになりましたし、
技術面の向上にコミットできました。

コミュニケーションの問題があると技術どころの話ではなくなってしまうんですよね。

質問が下手すぎて困ったこと

本来5回くらいのやり取りで解決できたものが20回のやり取りが必要になってしまいます。
質問する側と受ける側が疲弊していいことなんかないです。
この時は実務ではなかったのでよかったですが、
実務だったらかなり会社に損失です。

開発エンジニアが時間を無駄に使うことはお金の損失

前こういうことを言われたことがあります。
僕が社内で1番技術力が高いエンジニアに質問しようとした時に、
PMの方からこのように言われました。
「エンジニアの時間は会社のお金ってことを忘れないでね。1人優秀なエンジニアが手が止まるだけで会社が損失するって思ってね。そこを頭に入れた上で質問しなよ!」

このPMの方だけでなく他社のエンジニアの方も同じことを話してました。
開発エンジニアって今の時代ビジネスの主人公みたいなもので、
開発エンジニアがいないと会社として成り立たないくらい貴重な人材
です。

なのでこの認識を持った上で質問すべきかなと思います。

「なかなか欲しい回答がもらえないなー」の原因

なかなか欲しい回答が来ない場合は質問が悪い場合もあります。
これは質問がわかるづらかったりして要点が外れた回答になってしまう場合が多いです。
質問のやり方を学ぶ必要があります。

実際こんな質問されたらどうですか

もし皆さんがこんな質問されたらどうですか。

railsでmigrationを実行したらエラーが出ました。どうすればいいですか。

これだとわかりづらいですよね。💦
「何がわからないのか?どういうエラーが出たのか?そもそもエラー解決する気あるのか?」
ってなりますよね。

これじゃ答える側もいちち
「どんなエラー?何して欲しいの?」みたいな会話になって余計なやり取りが増えてしまいます。
これだと エンジニアの時間の損失(お金の損失) です。

質問のやり方を解説

これが1番大事です❗️。

要件を伝える(結論)❗️ ex) 質問、相談、報告、共有なのか
先ほどで言うと

「質問です。railsでmigrationを実行できず困っています。」

今の状況を伝える
「〇〇ファイルで🔺🔺を実装してmigrationファイルを実行したら、以下のエラーが出てmigrationを実行できなくなってしまいました。 エラー■■」

どう言う状況かわからないと適切なアドバイスが難しいです。

自分が試したこと、調べたこと(自分の仮説も入れるといいです。)
〇〇のようなエラーが出たので🔺🔺だと思ったのですが、うまくいかなかったです。
■■を調べてみたのですが、いい解決策が見つからなかったです。

  • 補足  
    仮説を立てる時はなぜその仮説を立てたのかを説明できないと何も根拠のない仮説になってしまいます。自分の考えが浅くなってしまいます。

  • 補足2
    修正したなら「修正」だけでなく「〇〇を修正」など具体的に固有名詞を使って説明しましょう。あと〇〇件修正など数字も使うとわかりやすいです。

最後に
〜の方向性で調べているのですが、解決できず困ってしまってます。
ご教授いただけると幸いです。

みたいな感じです。
自分の考え、状況、試したことなどがわからないとな質問に答える側も何もアドバイスできないです。

質問が下手な人がいる時の現場の対策

例えばSLackとかで質問する時に

質問箇所、困っていること、自分で調べたこと

これを記載しない限り質問ができないようにすればいいと思います。

後は普段から言語化ができていないので業務日報を書くことを必須にする
ことも大切だと思います。
その際に業務日報を書くとどんなメリットがあるのかを相手に提示すれば効果があります。

QiitaとかZennで自分の言葉で発信する習慣を少しでもつけるのも対策です。

現場で質問するタイミングとは

エラーで詰まってしまってtたり、現場の仕様がわからない場面は必ず出てきます。
そんな時に、質問するタイミングが重要になってきます。

そこでよくおすすめされているのがGoogleの15分ルールです。
わからない時は何も考えずに質問はNGですが、
15分経ってもわからない時は、チームのためにも質問するべきです。
自分もなかなか質問をせずに必要以上に工数をかけてしまい、タスクが遅くなってしまうことがありました。

チームのためにと思えば、質問した方がいいです。

自分が質問を上達させた方法

  • スクールとかなら上で紹介したやり方を繰り返し練習する
    上記で紹介したやり方でできているかを徹底的にフィードバックをもらうのがいいです。
    未経験時代に自分は毎日CTOの方からボコボコに言われてきました。😅
    とにかく練習して習慣化するのが1番です。上のやり方ができるとエンジニア業務以外でも
    「何かできそうな人」みたいに見られますし、他の仕事でも役に立ちます。

  • ドキュメントを書く
    自分はとにかくドキュメントをひたすら書いていました。自分以外のエンジニアの方もかなり効果があったみたいです。
    コツは先生になったつもりで書くことなるべく自分の言葉でまとめることです。

実践してみてください❗️

https://zenn.dev/norihashimo/articles/3bd51cee75cdf8

Discussion