エンジニアに向けた質問の5つのコツ

一般的に、エンジニアという職業は「コンピュータ相手に黙々と作業をする職業」と思われることが少なくありません。 そのため、これからエンジニアになる人がそのようなエンジニア像を持っていることも珍しいことではないでしょう。
ところが、エンジニアにとって人とのコミュニケーションが必須であるということは、エンジニアになれば誰もが気づくことだと思います。 相手は同じ会社の上司や部下、同僚だったり、クライアントや委託先。他にも勉強会で会うエンジニアの方々など、多くの方と話す機会があります。


もともとコンピュータの扱いが得意でエンジニアになった人はそのコミュニケーションの意外な多さに不安と苦手意識を感じることもあるでしょう。 特に、仕事をする上で、何かわからないことが出てくるというのはごく普通のことで、調べたり、質問したりして解決し、自分の知識として蓄積していくことが重要です。その中でも質問は自分と相手が同じ時間を割いて取り組む必要があり、仕事をする上でのコミュニケーションを円滑にするうえで非常に重要なものになります。

では一体、どのような質問をすれば、相手もやりやすく、自分も欲しい回答が得られやすいのでしょうか? 仕事上のコミュニケーションを円滑にする上での質問に対する考え方と質問方法を合計5つ、紹介します。

大前提となる考え方

質問に答えていただける相手の時間を無駄に奪わないことが重要です。 これはプログラミングに限りませんが、時間は有限で、それぞれ仕事をこなし、自分の時間を生きています。自分で調べて自分で解決できることに越したことはないのです。そのため、まずは自分で調べる。もちろん確実にわからないとわかっている場合は聞くしかないのですぐに聞いて大丈夫です。

たとえばプログラムにエラーが出た場合。エラーが出た→聞くだと、解決までの時間は短縮されるかもしれません。 しかし、エラー文章を読んだり、コピーして検索すれば、解決方法がわかることも多いです。 そのためまず、調べたらわかるのか、全くわからないため聞くしかないのか判断することが必要です。

目的を明確にする

質問の最初に何を与えてくれたら自分の問題は解決するのかを伝えましょう。 そうすることで、自分も話のゴールを見失いづらいし、相手も何に耳を傾ければいいのか明確になり、聞きやすくなります。 例えば、「○○な機能を実装しようとしてコードを書いたのですが…」と話し始めても、

・エラーが出たのか出てないのか

・エラーが出てその後自力解決した報告なのか

・エラーが解決できてないから見てほしいのか

・自分の仕事の手を止めてヘルプに入ったほうがいいのか

・コードのレビューが聞きたいだけなのか

最後の一言まで相手が何を答えていいのかわかりません。最初に「レビューを聞きたいです」や「エラー箇所を知りたいです」「○○について教えてほしいです」と伝えたうえで、何が起きていて、何に躓いているのかを伝えることでほしい答えがもらえ、相手も聞きやすく答えやすい質問になります。

教えてもらったことや指示をその場で確認する

例えば上長から新しい知識を教えてもらった後や指示を受けた後で同じ内容の質問を繰り返してしまうと、上長はその対応のために都度作業を止めなければならず、それが何度も重なると教える側にストレスが溜まります。いい関係で教えてもらえる方がいいに決まっています。もしエラーが出ている場合は、なぜ出たのか、どんな可能性があるのか、そのためどう修正したほうがいいのか、など多くのアドバイスをもらっていると思います。

その場で自分は言われたことを理解しているのか、欲しかった答えなのか確認するために、聞いたらその場で確認することで、教えてくれる人の手を何度も止めなくて済むよう対処しましょう。

推測でなく事実を伝える

例えばポケットwi-fiを忘れてしまう日が多く、初めて通信制限がかかってスマホが非常に重くなったとします。 その際にFacebookでコメントしたけど反映されないエラーが発生したとします。コメントも普段は反映されるので初めての体験、通信制限も初めての経験。

ここで人は、この2つは絶対関連していると考えてしまいがちです。 異なる2つの珍しい現象が同時に起こると関連付けてしまいがちですが、この場合、ただ通信制限に慣れてなく、もう少し待てばコメントで正しく反映されるかもしれませんし、待ってる間に余計な操作をしたのかもしれません。単純にFacebook側でエラーが出てるのかもしれません。通信制限になる前日からそのエラーは出ていたかもしれませんし、確認しなければわかりません。

確認してないことを勝手に関連付けて、報告すると間違った答えをもらってしまったり、本当にそれが原因なのか、確認することに多大な時間を割いてしまいます。 このようなエラーが起きました。どんな検証、分析をして、〇~〇にはエラーがないことを確認しました。それ以降がわかりません。というように、事実だけを伝えて正しく情報共有をし、問題解決に繋げましょう。

指示語(あれ、これ等)を使わない

これには2つ理由があって、1つ目は自己理解を深めること。2つ目が両者の勘違いを防ぐために行います。まず、プログラミングを始めたばかりだと、わからない単語が多く、また何となくしか理解できてない機能が多くあります。自信がない言葉は使用することを避け、指示語を使ってしまいがちですが、ちゃんと名称を使用することで勘違いしてないか、正しく理解できているか確認しすることが出来ます。

また、文字の表示される箇所が意図したものと違う時に「これが変なんです」と画面を指差して言っても、相手が文字の色が変なんだなと思うこともあるでしょう。
「あれ、これ」では情報が足りておらずすれ違いの元となってしまいます。自分が間違っているかもしれないと恐れて指示語を使ってしまうのでなく、しっかり名称を使って質問することが自己理解・問題解決の両方に有効です。

この質問の仕方はエンジニア以外にも使える考え方だと思います。コードだったりファイルだったりと実体のないものを扱っている分名称を言ったり、間違いがないようにということが強調されていますが、両者の時間を無駄に使うことなく業務出来るようになる考え方・質問方法だと思います。

この5つを無視したあいまいな質問をしてしまうと、教える側から逆質問で質問の内容が明確になるまで問い続けなければ話が前に進まないため、非常に時間を無駄に使ってしまいます。お互いのやっていることを止めて時間を共有するのですから、お互いにいい時間の使い方をしたいものです。

良い質問、悪い質問

ここまで質問について、長々とタブーだったり、こういう質問をしましょうと書きましたが、質問をしないことに比べると、全然ダメな質問でもする方が良いです。怒られたり時間を無駄に浪費したとしても、その分学んで自分に蓄積していきましょう。

一般的な質問との差としましては、自分の考えよりも事実を優先しているという点・指示語を使用しない点でしょう。 例えば、講演会などを聞きに行ったとき、スピーカーに対してする質問は「自分は〇〇と考えていて、でもあなたは△△と話していた。なぜあなたは△△と思ったのですか?」という質問が自分にとって有用だと思います。ですが、自分の考え(特にこうだと思うといった確定しないもの)を言った場合はさらなる混乱を招く可能性があります。

また指示語についても実態のあるものでしたらわかりやすいので使用しても間違いようがないかもしれませんが、プログラムの話の場合は勘違いする可能性があります。

悪い質問とは

・何を答えればいいのかわからないこと
・欲しい答えと違うことを答えてしまうようなもの

やはり質問には答えを返すのが自然な流れです。 逆質問を繰り返して、本当は何が聞きたいのか、理解する必要があるものは回答者側の時間を多く使ってしまいます。 また、せっかく聞いて、答えが返ってきたのに、聞きたかったことじゃないため、もう一度質問しないといけなくなったら、大幅な時間ロスですよね。 ほかに回答の余地がないよう、明確に答えやすい質問を作りましょう。

良い質問とは

・何が得られれば解決するのかを最初に明確に伝える
・教えてもらったその場で、ちゃんと理解できているとわかる
・推測ではなく事実を聞く
・指示語を使用せず、しっかりと名称を使っている

この5つは相手に勘違いさせないもの、つまり答えやすいものになります。やはりコミュニケーションは双方向のもの。自分も聞きたいことが聞けて、相手も答えやすいものが最も円滑にいきます。 そのように考えてみることで1人でも多くのコミュニケーションにお悩みのエンジニアの方に役立てば幸いです!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です