Joel Spolsky著『Joel on Software』オーム社
p.2
人生は、自分の仕事を憎むにはあまりに短いのだ。
p.29
これの意味するところは、残存バグがたくさんある場合には、スケジュールはあてにならないということだ。
p.205
これらのバグが見つかるには、いずれも、実世界で何週間も使われる必要があった。プログラマがラボでバグを再現して修正するには、2、3日かかったかもしれない。多くのバグ修正と同様ならば、修正したのは1行だけだったかもしれない。あるいは、2、3文字だけだったかもしれない。しかし、その2、3文字のために多くの時間と労力が支払われているのだ。
コードを捨ててスクラッチからやり直すとき、あなたはそういう知識のすべてを捨てている。それら、蓄積されたすべてのバグフィックスを。何年にもわたるプログラマの作業を。
p.206
スクラッチから始めるときに覚えておかなければならない重要な点は、あなたが最初にやったときよりもいい仕事ができるだろうと信ずべき理由はまったくないということだ。
p.226
もしあなたが開発チームを作っているなら、たくさんの経験の浅いプログラマたちに、抽象度の高いツールを使って大きなコードのブロックを作り出させていくのはOKだが、もし深い経験を積んだメンバがいて手強い問題を片付けるのでなければ、チームは上手く機能しないだろう。
p.229
ソフトウェアの世界というのはあまりに広く複雑で多面的であり、そのため、いつもは知的だと思える人が、ブログの中で「Microsoftはまともなオペレーティングシステムが作れない」みたいな愚かなことを書いているのは、率直に言ってバカにしか見えない。
(中略)
私はMicrosoftを擁護しているのではない。ただ、深い無知に基づいてお手軽に一般化された議論をするというのが、今日、ネット上でなされる最大の時間の浪費だと言っているだけだ。
p.240
私の意見は?と聞かれたら、そして私は偏っているわけだが、トップに立っているのがプログラマでない限りソフトウェア会社が成功することはないと思う。
p.266
もっと重要なことは、最高の人間を雇うことへの執着だ…十分優秀な人間が見つけられないなら、小さいままで十分満足だ(1年につき6週間の休暇を用意すれば、人を見つけるのはそれほど難しくはない。)そして私たちは、すでに雇っている人々が成長し、新しく入ってきた人たちの教育や指導ができるようになるまでは、会社を大きくしようとは思わない。
p.276
それがビジネスで核となる機能ならー何が何でも自分でやることだ。