メモ

Stack Overflowに高校時代から10年間書き込みを続けたエンジニアが学んだ15のこと

by Glen Noble

多くのエンジニアが自分では解決方法がわからないプログラミングコードの書き方やエラーをStack Overflowで調べますが、そのStack Overflowで高校時代から10年間モデレーターとして書き込みを続けたMatt Biernerさんが、これまでの経験から学んだ「Stack Overflowを使う上で覚えておくべきこと」をリストアップしています。

What I've learned over 10 years on Stack Overflow – UWTB
https://blog.mattbierner.com/10-years-stack-overflow-learnings/

◆01:質問することもスキルの一つ
質問をすることは簡単に思えますが、回答を得られる質問をするには単語を選ぶことが重要となります。Stack Overflowにも公式の質問ガイドがありますが、ここに書かれているに加えて、どの情報が自分の疑問と関連しているのかを考え、問題を明確に述べる必要があるとのこと。Biernerさん自身は、多くの質問や回答を見ていくうちに、どの情報が大切でどの情報は不要なのかを判断できるようになったそうです。最初は無知な質問をしてしまい、後から恥ずかしい思いをするかもしれませんが、質問をするスキルは質問をしていくうちに身につけることができると語られています。

by TeroVesalainen

◆02:「悪い質問」と「良くない質問」は異なる
問題をスクリーンショットした画像一枚と、「なぜ動かないんだ!?」という文章のみの質問は、悪い質問だとされています。学びが全てのStack Overflowの世界において、こうした質問をする質問者は「情報を提供する努力を怠っている」「学びに興味のない人」とみなされ、手助けをするに値しないとのこと。

それに対し、「私のホームページから青いボーダーを消すにはどうしたらいいか?」といったタイトルで、CSSのアウトラインの話題という記述はないものの、その話題を推察できる複数の段落で構成された質問は、わからないながらもなんとか情報を提供しようと努力する姿勢が見られる点から、良い質問でもないが悪い質問でもないと語られています。

◆03:良い質問をしても回答が得られるとは限らない
JavaScriptHTMLといった一般的な技術に関する質問は多くの回答が見込めますが、一般的でなかったり専門的な技術に関する質問はたとえ良い質問だったとしても回答がもらえないことが多いそうです。

by sasint

◆04:正しい答えが自分にとって好ましいものではないかもしれない
Stack Overflowには質問や回答に対し信用度の投票が行われる評価制度がありますが、「これは仕様上不可能です」といった回答や「これは修正する必要があるバグです」といった回答は、質問者の求めていた問題の解決には至らないがゆえに、正しい答えであったとしてもマイナスの評価がつく場合があるとのこと。しかし、コミュニティ全体としては客観的な投票が行われているとBiernerさんは感じているそうです。

◆05:多くの疑問は質問する前に解決する
Biernerさん自身は自分の仕事が複雑かつ専門的であり、Stack Overflowで回答を得られるようなシンプルで誰かの手助けとなるような質問を作ることが難しかったため、Stack Overflowでほとんど質問をしなかったそうです。新しい言語やフレームワークを用いる際はごくまれに質問することもありましたが、ほとんどの場合過去に同じ質問があり、それを調べるだけだったと語られています。

◆06:質問を観察すると自分の開発物についての気づきがある
BiernerさんはVS Codeの開発に従事していますが、Stack OverflowでVS Codeに関する質問を観察していると、実際に自分の書いたコードがどのように使われているのかを知ることができると語っています。ただ単に質問に回答するだけでなく、なぜ質問者がその問題にぶつかったのかを理解しようとすることで、自分の開発物の改善につながるとのこと。

by Fatos Bytyqi

◆07:質問とバグレポート、機能追加の要望はそれぞれを区別しづらい
Stack Overflowでエンジニアが遭遇する質問のうち、多くがバグレポートや機能追加の要望ですが、「なぜVS Codeでこの動作をするとクラッシュするのか」というタイトルの質問が実はVS Codeのクラッシュを引き起こすバグの報告であったり、「VS CodeでJavaScript IntelliSenseが動かないのはなぜ?」という質問が、実はJavaScript IntelliSenseの機能要望であったりと、質問とバグレポート、機能追加の要望の三つは区分けしづらいものです。しかし、最終的には三つのいずれの場合も「動作するようになる」ことが根本的な解決であるため、ユーザーの観点からもプロジェクト管理者の観点からも、そうしたあいまいさが問題になることは少ないとのこと。

◆08:Stack Overflowのユーザーは人間である
PCと日々向き合っているため、エンジニアは合理的に思われがちですが、エンジニアも人間であり、人間であるからには感情があります。このため、時には感情的になり、ネガティブなコメントを残してしまう人もいるとのこと。また、Biernerさんは自信たっぷりに間違った回答をしているのを見かけることもあり、見かけた場合は訂正コメントをすることもあるそうです。

by Sydney Sims

◆09:初心者にも優しくする
Biernerさんは質の低い質問が長々と続いているのを毎日見かけるそうですが、質問者の多くは善良な初心者だと信じているとのこと。質の低い質問を見ると見下したり皮肉を言ったりしてしまいがちですが、Biernerさんは、いつも初心を忘れず、Stack Overflowが初心者にも思いやりのあるコミュニティになるにはどうすればいいか考えているそうです。

◆10:時には感謝の言葉を述べる
Stack Overflowには感謝する文化があまりなく、Biernerさんの投稿から自動的に「Hi」や「thank you」が削除された覚えもあるそうです。確かに礼儀正しさは行き過ぎると邪魔に感じることもありますが、効率を気にしすぎて感情を押し殺す必要はないとBiernerさんは語っています。

by Kelly Sikkema

◆11:回答のフィードバックがほしい
Stack OverflowでBiernerさんが回答した後、最終的にその回答は役に立ったのかどうか、質問者がその後何を学んだのかなどが時々気になるそう。もちろん回答後のフィードバックをもらうのは実現が難しいことではありますが、フィードバック機能の実装は考えてみる余地があるとのこと。

◆12:評価制度のゲーム性に懐疑心を覚え始めた
Biernerさんは10年間Stack Overflowで書き込みを続けていても、回答に対するプラス評価がもらえるといまだに高揚感があるそうです。しかし、こうしたStack Overflowの評価制度のもとでは、一部の回答者は回答が持つ実際の価値ではなく、得られる評価点を最大化しようとすることが、問題点として挙げられています。

by Ryan Long

◆13:評価は影響力の大きさを表す
Biernerさんは信用度を技術の高さやStack Overflowに対する理解の深さとは結びつけず、影響力の大きさを表す数値として見ています。誰もが使うような技術に対する質問と、複雑で専門的な質問を比較すると、獲得する信用度は前者の方が多い場合が顕著であり、「質問や回答を参照する人数の多さに大きく左右される信用度は本当の意味での評価を表していない」とBiernerさんは考えているそうです。

◆14:Stack Overflowがなければ生産性をあげることは難しい
Stack Overflowは素晴らしいツールであり、検索エンジンなどと同様になくてはならないものだとのこと。そうした知識ベースを参照することはエンジニア失格だという意見もありますが、調べてわかることは調べてしまい、もっと重要なことに思考力を使うべきだとBiernerさんは語っています。

by Nathan Dumlao

◆15:Stack Overflowは奇跡のコミュニティ
Stack Overflowは国籍や性別などの個人的背景や技術力に関わらず、誰でも質問を投稿することができます。そうした質問に全くの赤の他人が自分の時間を割いて報酬を求めず回答する様子は、まさに「奇跡のよう」とのこと。Stack Overflowの存在を当たり前と思わず、「コミュニティの新人の手助けをするといった小さな行動がStack Overflowに良い影響を与える可能性があり、私たちは小さな個々人の集合体であることを理解してほしい」とBiernerさんは語っています。

この記事のタイトルとURLをコピーする

・関連記事
IT技術系Q&Aコミュニティ「Stack Overflow」の4000万件以上ある質問&回答で最も多く引用された「プログラマー必読」な書籍トップ10リスト - GIGAZINE

「給料が多いほど仕事が好き」「よく使うプログラミング言語」「開発環境」「開発者歴」「OS」など世界中の開発者の統計をまとめた「Stack Overflow Developer Survey 2016」 - GIGAZINE

プログラマーが本当に支持するプログラミング言語がわかる「人気の高いプログラミング言語2019」が発表 - GIGAZINE

世界中で人気のある雇い主はどんな企業なのかをまとめたランキング「LinkedIn’s Most InDemand Employers」 - GIGAZINE

エンジニアが非エンジニアから学んだ5つの大切なこと - GIGAZINE

プログラマーを30年間やってきた経験から学んだことまとめ - GIGAZINE

in メモ,   ネットサービス, Posted by darkhorse_log

You can read the machine translated English article here.