こんにちは!好奇心おばけのかわそん (@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)も同じことを言っています。
YouTubeを更新しました😌
※質問はコメント欄で受け付けます🔽世の中には「すぐに質問する人」が多すぎて残念な件【人生の損失】 https://t.co/tst59GrRfZ
すぐに質問してしまうと、最終的に質問者が損をする話です。どうしても疑問が解決できないなら、問題点を整理してから質問すべきですね
— マナブ@バンコク (@manabubannai) 2019年4月7日
「質問する」っていう行動のウラにある、「相手の気持ち・負担」も考えたいですよね。
プログラミングの質問サイト・サービスの紹介
じゃあ本題に戻って。
質問方法はわかったけど、どこで質問できるの?っていう事が気になると思うので、エンジニア向けの質問サイト・サービスを紹介しますね。
本当に便利なのは、この4つです。
- Stack Overflow←上級者向け、英語版は世界最大です。
- menta
←目的にあったメンターに質問できます。
- teratail←日本語の質問サイトです。
- プログラミングスクールのメンターに質問
軽く補足しますね。
①実はStack Overflowには日本語verもあります。でも正直下火ですし、英語版の情報はケタ違いに豊富です。Google翻訳を使えばOKですよ。
②mentaは、自分の目的にあったメンターとマッチングできるサービスです。値段の相場は3,000円/月くらい。
無料登録だけしておいて、本当に困った時に課金するっていう、保険的な使い方がベストかなと。
③teratailは完全日本語で質問できます。かなり活発に動いていますね、オススメです。
④まあ、一番王道で確実ですね。例えばテックアカデミーのメンターは現役エンジニアなので、実務目線で答えてくれます。
詳しくはテックアカデミーのメンターの特徴を6つ徹底解説するで説明していますので、参考までに。
正しく質問してスムーズなプログラミングライフを
記事のポイントをまとめておきます。
- 質問するときは『目標、エラー内容、自分の考え、ググりながら試した事、実行環境』を意識
- 相手に負担をかけると、自分が損しますよ。(答えてもらえなくなる)
- 質問サイトやメンターサービスを活用しましょう。
こんな感じですね。
初心者のときは特に、めちゃエラーでつまると思います。
そんな時に勇気出して質問したとしても、あしらわれたら、、、ツラスギて再起不能になるかもですよね。
ここまで読んでくださった皆さんが、プログラミング関係の質問をしようと思った時に、この記事が少しでも参考になれば幸いです。
ではでは今回は以上です。
>>[初心者向け]プログラミングがわからない?→7つに分類、解決してみる
>>プログラミングのエラー解決方法を5つ紹介[初心者~中級者向け]
できれば、そういうプログラミングの質問ができるサイトもあわせて紹介して欲しいです。」