give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

【初心者ITエンジニア向け】上手な質問は「相手にエスパーさせない質問」です

はじめに

この春からITエンジニアになったみなさん、どうもおめでとうございます。
これからたくさん勉強して、立派なエンジニアを目指していきましょう!

・・・と言っても、最初はわからないことだらけだと思います。
一人では解決できない壁にぶち当たったときは、他の人を頼って質問した方が学習効率が良いです。

とはいえ、質問するときは上手に質問しないと、自分も答える人も無駄に時間を食ってしまいます。
というわけで、今回のエントリでは「上手な質問」について書いてみたいと思います。

なお、ここで想定している質問は、社内掲示板のようなオンラインでの非同期な技術系Q&Aを想定しています。
ですが、基本的な考え方は対面で質問する場合も変わらないと思います。

まずはネットで質問のセオリーを学ぼう

上手な質問のしかたについては、すでにネット上に優れた資料があります。
これらの資料に目を通してもらえれば、僕が言いたいことの9割以上は伝わるはずです。

僕が言いたいことの「残りの1割」については以下でお話しします。

僕が考える重要ポイント=回答者にエスパーさせないこと

回答する立場に立ったときに一番困るのが、「困っているのは伝わるが、あなたの状況がよくわからない」という質問です。
隣の席に座って、一緒に画面を覗きながら「ほうほう、なるほど」と話ができれば一番いいのですが、掲示板のようなオンラインのQ&Aではそういうわけにはいきません。

情報が不足していると、回答者は「もしかしたら、こういうエラーメッセージが見えているのではないか?」「もしかすると、こんなことをしてるのが原因ではないか?」と想像力をフルに働かせなければならなくなります。
僕はこういう行為を 「相手の状況をエスパーする」 と呼んでいます。

Untitled

上手な質問はエスパーする部分が少ない質問です。
あまりうまくない質問はエスパーする部分が多い質問です。

思考実験:もし「田舎のおばあちゃん👵🏻」から電話がかかってきたら?

たとえば、田舎のおばあちゃんから、「なんかなあ、インターネットができへんねん。なんでやろか〜?」と電話がかかってきた状況を想像してみてください。
「いやいや、おばあちゃん。ネットができない、ってそもそもどういう状態なの??😅」って聞き返したくなりますよね?
ブラウザが起動しないの?Yahoo!にアクセスできないの?もしかしてパソコンすら起動しない??などなど、こちらは想像力を働かせておばあちゃんの状況を確認しないといけません。

これと同じで、自分が質問をするときに「Railsが起動しないんです。どうしたらいいですか?」みたいな質問をしていないか、自分で自分の質問を見直してみましょう。

電話ならその場で情報のキャッチボールができますが、掲示板のような非同期のコミュニケーションではキャッチボールするのにお互い時間がかかります。
ですので、回答者がエスパーする余地がないぐらい、情報を豊富に載せておきましょう。
情報が少なすぎることよりも情報が多すぎることの方が100倍マシです。

その点を踏まえて、上で紹介したネット記事を読み直してもらうと「なるほど、たしかにこれは全部エスパーする部分を少なくすることにつながってるな」と思ってもらえるはずです。

あと、質問の最後に「もし不明な点や不足してる情報が何かあれば、追記するので教えてください」みたいに書いておくと、「おっ、この子は回答する人への配慮もちゃんとできているな」と思われるので、goodです👍

まとめ

こんなにいろいろポイントを挙げると、「ハードルが高い!質問するのが怖い😭」と思われるかもしれません。
ですが、たくさんコードを書かないとコードが書けるようにならないのと同じで、何度も質問をしないと質問力は鍛えられません。

新人のうちは「まあ、まだ新人だからな」と許される場面も多いと思うので、どんどん質問して質問力を鍛えていきましょう💪

あわせて読みたい

質問は「恥ずかしいから誰からも見えないところでこっそり質問する」ではなく、「恥を捨ててみんなの前で質問する」のが正解です。
というわけで、こちらの記事もあわせてどうぞ。
blog.jnito.com