問題解決をするのがエンジニア
エンジニアの仕事の中で質問をする機会は多いです。
- ビジネスサイドとの問題のすり合わせ
- ヒアリング
- 技術でつまづいた時
- 将来やキャリアパス
質問すること、そして問題を解決するのがエンジニアの仕事です。
新卒のころからこの質問ということにとても悩まされたので、この機会に質問の精度をあげる
tipsをご紹介できればと思います。
質問するときに気をつけたいアンチパターン
やってしまいがちなアンチパターンから良い質問とは何かを定義します。
アンチパターンから学ぶ良い質問
『なんかおもったようにいかないんですが、どうしたらいいですか?』
ぼくは一番初めにこんな質問をしていました。
はっきりって考えてないの丸見え、答えをほしがるだけの最低な質問です。
ではこの質問に赤をいれながら何がいけないのかをみていきます。
『なんかおもったようにいかない』
まずはこれです。
どういう挙動が実現されば問題が解消された状態なのかわかりません。
これでは質問を受けた側はいろいろ背景や何を目的にしているかを逆に質問したり、
考えながら質問に答えないといけないのでとても時間がかかってしまいます。
『どうしたらいいですか?』
どうしたらいいですか?というのは悪くはないんですが、質問に答える側は
答えをおしえるのか、それとも答えにたどり着く方法をおしえればいいのかかんがえないといけません。
単に答えをおしえてもいいんですが、それをしていてはいつまでたっても質問者の質問レベルや問題解決レベルは向上しません。
こういう時は何をききたいのかをはっきりさせないといけないです。
具体的な解決策なのか。
検索方法なのか。
おなじ局面なら先輩はどう考えて動くのか。
など何を聞きたいかをはっきりさせることは重要です。
断片的な情報しか伝わらない
上記の質問の仕方では断片的な情報しか伝わりません。
なんか今んとこうまくいってないということしかわからないです。
これが『〇〇と検索したのですが、解決に繋がる結果が見つかりません。どんなワードで検索したらいいですか?』
だとすれば検索段階でうまく言っていないこと、実際に検索する段階にはいることがわかります。
このように背景と過程を言語化しない質問は混乱と無駄な時間をうむ原因です。
良い質問とは何か
簡単にアンチパターンを見ながらよくないポイントをあげてきました。
簡単ですが、いい質問を構成する要素をまとめます。
ゴール
何を目的として実装やテストをしているのか、具体的に端的にまとめましょう。
ここがぶれていると問題は問題ではなくなることがあります。
現状
いま起きている現象について端的にまとめましょう。
エラーメッセージが出ている。いとした出力がないなどです。
実際に起きている不都合なこと
現状の何が不都合なのか説明できるようにしましょう。
ゴールとのギャップを正確に伝えられることは良い質問の第一歩です。
何をためしたか
実際になにか解決の手段を投じているならそれを伝えましょう。
もしかしたら解決策の方向性がまちがっているかもしれません。
検索段階でわからないなら実際に検索した言葉を伝えてみましょう。
質問にどう答えてほしいのか
何を答えとして望んでいるかを伝えましょう。
解決策を一緒に考えて欲しいのか、それとも方向性が間違っていないかみてほしいのか
答えをください。というのは最終手段ですが、どうしても解決できない時はそれも手段の一つです。
まとめ
ここまでつらつらと書いてきたことをまとめます。
よい質問のための5つのポイント
- 成し遂げたいことの把握
- 問題の言語化
- 原因の分析
- 解決手法の実践と結果
- どう質問に答えて欲しいのか
この5つを心がけることで質問の力がとてもあがるでしょう。
先輩エンジニアの時間を奪わず、ビジネスサイドとのヒアリングもうまくいく。
息を吸うようにこの5つを実践して問題解決をしていきましょう!
おまけ
一人でできる質問力のあげ方
ラバーダッキングという物知っているでしょうか?
これはゴム製のアヒルに独り言をいうだけです。心の中呟くだけでもいい。
(アヒルに難しい顔で向かい合う変な人だと思われても責任はとれません。)
何かに向かって話しかけることで、今抱える自分の問題を整理し客観的な視点から
問題の全体像を把握し解決まで自分で持っていきやすくするという手法です。
これは一人でできるのでとてもおすすめです。
ちなみにぼくの机にはネズミのぬいぐるみがいてラバーダッキングのお手伝いをしてくれます。
それでは質問力をあげてよりよい開発ライフを。