エンジニア

エンジニアの質問の仕方〜質問方法も含めてエンジニアの力です〜

対象者

本記事は「エンジニアになろうとしている人、新人エンジニア」を対象にしています。

キヨシ
キヨシ
フォッフォッフォッ、キヨシ(@kiyothink12)じゃ^^ 今日はエンジニアの質問の仕方について話していこうと思う^^
ケイタ
ケイタ
エンジニアってやっぱり質問の仕方が大切なんですか?
キヨシ
キヨシ
うむ、超大切じゃ。これが出来ないとちゃんと答えてもらえないし、「仕事でききないやつ」の烙印も押されるからのう・・。そのへん話していくよ^^

質問する時に必ず抑える3つの事項

まず結論ですが下記3つは必ず抑えた上で質問をしてください。

1.何がしたいのか?何が知りたいのか?

2.試してみたこと、試してみてどういう結果が今出てるのか?

3.選択式の回答なのか、オープンクエスションなのか?

それでは一つずつ解説していきます。

1.何がしたいのか?何が知りたいのか?

まずは質問のゴールを明確化しましょう。

質問のゴールがないと相手もどこに向けて回答をして良いのかわかりませんし、何がしたいかによって回答が変わる可能性があります。

たとえば、とある値を計算するメソッドを書いていたとします。

ですが期待した計算結果が出力されずに困っているとします。

そこで質問者がコードを貼り付けてslackで下記のように質問します。

「ここのコードで意図した値が出力されないのですがどうしたら良いですか?」

と漠然とした質問をします。

ここで質問される側は下記のようなことを思います。(迷い)

質問された側の迷い

・出力の仕方がわからないのか?

・計算をするコードがわからないのか?

・意図した値を計算するための渡される引数がおかしいのか?

・そもそもそこでその計算をすること自体が流れとして間違っているのか?

などなど。

いきなり質問されても”文脈”がないとわからないのです。

ただ、質問者側は他の人は自分がやっていること、やりたいことをわかってくれている。

「自分より技術のある人ならば全てを把握していると思い込んでいる」のです。

ですが残念ながらそうではありません。

質問される側はむしろ質問者より該当箇所のコードについてなんか知っていません。

あなたが今取り組んでいるコードについてはあなたが一番詳しいのです。

経験してみるとわかりますが、自分が書いたコードでも一度そのコードを離れて違う箇所、違う案件に入るとさっぱり覚えていません。

それゆえにメモアプリに備忘録を残しておくことやコード上にコメントを残すことは非常に重要になっていきます。

2.試してみたこと、試してみてどういう結果が出てるのか?

当然自分のタスクなので、何もやっていない、何も考えていない状態で相手に投げるような「丸投げ」は良しとされません。

これは会社内でもそうですし、teratailなどのエンジニア質問サイトなどでも常識です。

まずは自分で取り組んでみてわからないところはググって四苦八苦すべきです。

すると、「どこらへんがエラーを起こしてそうなのか」が特定化されてきます。

ある程度のエラー箇所が特定化された状態で質問することによって、相手の労力が削減されるので、相手にとっても助かります。

丸投げされるとありとあらゆる思いつく限りの範囲のことを一つ一つ潰していかないといけないので、大変な労力がかかります。

あくまであなたの仕事はあなたが責任を持って調べ尽くし、その上で誰かに頼りましょう。

3.選択式の回答なのか、オープンクエスションなのか?

具体例を下記に挙げます。

・AとBどちらが良いと思いますか?(選択式)

・これについてどう思いますか?(意見を聞くオープンな質問)

聞きたい質問によってこれらどちらにすれば良いか判断して聞くようにしましょう。

オープンクエスションの方が簡単に聞けますが、「こいつ何も自分で考えてないな」と思われる可能性があるので使い所は要注意です。

どんな職場でもそうですが、一度「こいつ使えないな」と思われて軽蔑されると非常に巻き返しが困難で職場に居にくくなります。

質問は大切。質問すべきことはどんどんしよう。

質問は大切です。

質問しないと解決しないことはたくさんあります。

質問をする時に「この質問すべきかどうか?」、「この質問は愚問なのではないか?」と迷うこともあると思いますが、質問するかどうかを迷う時間が多く発生してしまうのが一番良くないです。

基本的に30分自分で頑張ってみて埒があかなかったら聞こうなど自分ルールを作ることも大切です。

それで嫌な顔をされる職場、人間関係であれば、その職場はあなたに合っていない可能性もあるので転職を視野に入れても良いでしょう。

質問がしやすい環境は仕事の効率化において最も大切です。

私の経験上、エンジニアの話し方(チャットも)は極めてぶっきらぼうで無機質です。

なので、いちいち傷つかない、気にしないことが大事です。

ストレートに意味が通じることがエンジニアの美徳なのかもしれませんが、私は個人的には少し遠回しにでも柔らかく相手に伝わることが好きなのですが、そういうエンジニアは残念ながら?かなり少数です。

エンジニアとはそういうものだとある意味で開き直るのも重要ですが、あまりにストレスがかかるならばしっかりと相談するか、それで解決しなければ転職を考えましょう。

まとめ

わからないことを直感的にすぐに質問するのはNGです。

しっかりと何を・どのように・いつ・質問するのかを吟味しましょう。

私は何か質問する時は相手に最もわかりやすいだろう伝え方をしっかりメモってから伝えています。

場合によってはスクリーンキャプチャで画像を撮って添付して質問をします。

相手がなるべく意味を瞬時に理解して簡潔に答えまでたどり着けるように配慮した上で質問をするようにする”お膳立て”はするべきでしょう。

また、slackで聞くのか、直接聞きにいくのか、これも事と場合によって振り分けています。ただ、エンジニアは直接聞きに来られるのを嫌う人も多いということ、エビデンスが残らないのでslackにしてほしいということがあるので大抵はslackで聞くようにしています。

それでも直接聞いた方が明らかに効率が良い(相手にとっても)という時は直接相手に「今よろしいでしょうか?お手すきの時に直接聞きたいことがあるのですが。。」と、まずslackでお伺いした上で聞きにいくようにしています。

誰に聞くのかも重要なので普段から円滑にコミュニケーションを取れるように人間関係を整えておくことも大切ですし、これはこの人に聞くというのを把握しておくことも大切です。

エンジニアといえばPCと向かい合ってあまりコミュニケーション力が問われない職種にも見えますが、実はめちゃくちゃコミュニケーションが重要で多いです。

社内の上司、同僚とはもちろん、お客さんとも要件定義などで話す機会は頻繁に発生するのでコミュニケーション能力のない人は上にはいけません(=稼げない)

まずは普段の友人との会話でも磨ける質問力をつけて仕事でも活かしていきましょう。

 

 

 

 

ABOUT ME
キヨシ
キヨシ
キヨシじゃよ^^ 30歳を超えてからエンジニアに転身。現在はリモートワークしながら海外と日本を行き来して自由気ままに暮らしておるよ( ^ω^ ) フォッフォッフォッ