すごいプログラマーは、根拠をだすのが早い

すごいプログラマーの人は、ある技術についてとても詳しいというよりは、

「xxがうまくいかないのはなぜ?」

「どれくらい速くなったか?」

といった問題に対して、わかりやすい根拠をさっと出せる人だと思った。

初心者がやりがちなこと

  • 「問題なく動いてそうなので、多分大丈夫です」
  • コードを見る限り、大丈夫だと思います

はっきりした根拠が示せないので、どうしても「多分」「おそらく」「だと思います」に逃げてしまう。

理想

  • 「xxのn行目が、xではなくyになっていることが原因で、呼び出された関数zzzが反対の動作をしているからです。(該当箇所のソースと、修正前後の結果比較を貼る)
  • 「修正前と修正後で以下の手法でベンチマークを取り、結果として修正後は3倍のリクエストをさばけているので、速くなりました。」

Before/After は大事

  • プログラムを直したときは(バグ/改善)かならず before と after が存在するので、ひと目で見比べることができれば理想的

以下の記事にも書いてある

開発速度を上げるための Pull-Request のつくり方 - クックパッド開発者ブログ

素早く根拠を出すために何を勉強するか

  • 便利なツールを知る。(たとえば、有名なパフォーマンス計測系のツールの使い方)
  • 文章力をつける(順序立てて説明するって意外とむずかしい。スライドの作り方に似ている?)