プログラミングで詰まった時の質問方法を解説![必要な情報は5つ]

こんにちは!好奇心おばけのかわそん (@KKohey4)です!

「プログラミングで詰まった時に、誰かに聞きたいんだけど、具体的にどうやって質問すればいいのかわかりません。質問する時はどんな情報が必要なのかな。。。
できれば、そういうプログラミングの質問ができるサイトもあわせて紹介して欲しいです。」
というような意見に答えます。

本記事の内容

  • プログラミングの質問をする時に、添えるべき情報がわかります。[テンプレあり]
  • 質問に便利なサイト・サービスがわかります

この記事を書いている僕は、年間50人以上の初心者にwebサービスプログラミングを教えています。

その中で生徒さんから

生徒さん
「エラー出てるんですけど、わかりません。」
って質問を丸投げされることが結構あるんですよね。

そこで、たぶんなのですが、初心者ほど「いい質問のしかた」がわかっていないのかなと思ったので、ここで紹介したいと思います。

プログラミングで詰まった時の質問方法を解説!

結論から。質問する時に必要な情報は

目標、エラー内容、自分の考え、ググりながら試した事、実行環境

の5つです。

というのは、この5つを質問文の中に含めれば、質問者の詰まっている状況がかなり限定できるんですよね。

状況さえ限定できれば、経験豊富なエンジニアの方が理詰めして解決しやすくなります。

わかりにくいかもなので、ちょっと例をあげますね。

例えば、みなさんが警察だとします。

事件が起きて、

「大変です!助けてください!」
と連絡がきても、何がなんだかわからないかなと。

どこで、何が起きたのか、救急車は呼んだのか、今はどんな状況なのか。

この情報がそろってはじめて対応できます。プログラミングでも同じですね。

質問するときのテンプレート

ここで、質問テンプレートをご紹介します。

Ruby on Railsでシンプルな掲示板アプリを作ろうとしています。

rails sでサーバを起動しようとしたら、このようなエラーが出ました。

ググると、mysqlサーバが起動していない事が原因らしいので、`sudo service mysqld start`をやってみました。(参考url)

でも、エラー内容が変わりませんでした。実行環境は

ruby :2.4.1
rails :5.2.3
mysql :5.7
os: mac os mojave
で、ブラウザはGoogle Chrome

です。

他にどんな可能性が考えられるでしょうか?

こんな感じですね。

先ほどの5つの情報、『目標、エラー内容、自分の考え、ググりながら試した事、実行環境』ぜんぶが入っているので、答える側にフレンドリーです。

余談: なんで「いい質問」をする必要があるのか。

ちょっとだけ本題から逸れますが、「いい質問」をするべき理由を紹介します。

結論は

・相手の時間を不必要に奪わないため。
・自分は「助けられる側」だから。
・相手を消耗させると、答えてくれなくなるかも。

っていうことが大きいですね。

月収1000万プレイヤーのマナブさん(@manabubannai)も同じことを言っています。

「質問する」っていう行動のウラにある、「相手の気持ち・負担」も考えたいですよね。

プログラミングの質問サイト・サービスの紹介


じゃあ本題に戻って。

質問方法はわかったけど、どこで質問できるの?っていう事が気になると思うので、エンジニア向けの質問サイト・サービスを紹介しますね。

本当に便利なのは、この4つです。

  1. Stack Overflow←上級者向け、英語版は世界最大です。
  2. menta←目的にあったメンターに質問できます。
  3. teratail←日本語の質問サイトです。
  4. プログラミングスクールのメンターに質問

軽く補足しますね。

①実はStack Overflowには日本語verもあります。でも正直下火ですし、英語版の情報はケタ違いに豊富です。Google翻訳を使えばOKですよ。

②mentaは、自分の目的にあったメンターとマッチングできるサービスです。値段の相場は3,000円/月くらい。

無料登録だけしておいて、本当に困った時に課金するっていう、保険的な使い方がベストかなと。

③teratailは完全日本語で質問できます。かなり活発に動いていますね、オススメです。

④まあ、一番王道で確実ですね。例えばテックアカデミーのメンターは現役エンジニアなので、実務目線で答えてくれます。

詳しくはテックアカデミーのメンターの特徴を6つ徹底解説するで説明していますので、参考までに。

正しく質問してスムーズなプログラミングライフを

記事のポイントをまとめておきます。

  • 質問するときは『目標、エラー内容、自分の考え、ググりながら試した事、実行環境』を意識
  • 相手に負担をかけると、自分が損しますよ。(答えてもらえなくなる)
  • 質問サイトやメンターサービスを活用しましょう。

こんな感じですね。

初心者のときは特に、めちゃエラーでつまると思います。

そんな時に勇気出して質問したとしても、あしらわれたら、、、ツラスギて再起不能になるかもですよね。

ここまで読んでくださった皆さんが、プログラミング関係の質問をしようと思った時に、この記事が少しでも参考になれば幸いです。

ではでは今回は以上です。

コメントを残す

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