Joel On Software

2007/12/04(Talk at Yale: Part2)を読んだ。

beat
せがむ、しつこく言う
hasty
迅速な、早まった
retreat
退却
utter
(adj)完全な、徹底的な
off-the-shelf
既成の、あつらえでない
expedient
便宜主義的な
churn out
大量に(機械的に)作り出す
carpal tunnel syndrome
手根管症候群
willfully
故意に
inept
不適当な、間抜けた
allegedly
いわゆる、聞くところによれば
lucrative
強欲の、金になる
mandane
世俗的な、日常の
chore
雑用、いやな仕事

(こういう意味か?)
"in house software"プログラマについて

  • それは恐ろしいものだ
    • なぜなら、ひとつにはそれがキャリアとして最高ではないから
    • そしてもう一つには、プログラミングの仕事の約80%はこの類(in house software)であり、もしあなた方(Yaleの学生)が非常に注意深いのでなければ、そこで働くことになってしまうかもしれないから。そしてそれはあなたの人生を消耗させる。

なぜin house programmerになっては駄目か

  1. in house software開発では、正しいやり方で仕事ができない。必要十分な機能を作り上げた時点で開発はストップしなくてはいけない。改善は許されず、それでいて後で最初にリリースしたものの品質が悪かったがためにパッチをつくる作業に追われることになる。作業そのものも退屈だ。それを何十年も続けていても、見返りは僅かだ。
  2. (一般消費者向けの)製品開発はもっと魅力的だ。そこでは製品をより良くすることがよい競争力を高めることになる(そのために楽しくて新技術を使ったりする)。
  3. ソフトウェアの会社で働けば、そこではプログラマは大事にされるし、出世のチャンスもあるだろう。

Joel自身のキャリアについて

  • Microsoftをやめた後、Viacomへ行った。しかしそこはプログラマが軽視され、何もわかっていない重役がのさばるところだった。
  • それでJunoに行った。そこではプログラマの地位が高く、3年間はC++プログラマとして幸せに過ごした。でも最終的に、この会社のマネージメント方法が旧いことがわかった。西海岸のようにマネージャの仕事が才能あるプログラマが仕事できるようにすることではなくて、決定を下すことだった。彼らはあまりに多くの決定を下さなくてはいけなかったので、私がhit and run micromanagementと呼び始めたやり方に長けていた。つまり、どこからか現れて細かいどうでもいいことについて決定を下して去っていく。だから私は、特に具体的な計画はなかったが、辞めた。