Joel on Software

Joel on Software

Joel on Software

マイクロソフト Joel Spolsky のブログに書かれたエッセイを本にしたものです.プログラマでもマネージャでも,楽しく読めます.ちょっと斜に構えた口調がたまらないです.

ずいぶん前に,一度読んだのですが,改めて気になることだけメモしたく,もう一度さらっと斜め読みした次第です.

ぜひ憶えておきたい教訓を3つほど引用.

「16.クラフトマンシップ」より

しばしば1%の欠陥を直すために500%の努力が必要になることがある.

と指摘し,クラフトマンシップはとてつもなく高価だと述べています.

確かに8割以上を攻めようとすると指数関数的に難易度と工数が上がっていくのは実感.

「20.採用面接ゲリラガイド」より

どんな人を採用すべきか?それは,「頭が良く」かつ「物事を成し遂げる」人だ.頭はいいが物事を成し遂げない,物事を成し遂げるものの頭は良くない,どららもNG.因みに,ここでいう,「頭が良い」とは,いわゆる「クイズ王」ではない.ようは,特定のスキルセットを持っている人ではなく,資質(←ここがミソ)を持っている人を探せと.

確かに,クイズ王はやっかいなり.

「23.人のタスク切り替えは有害」より

良いマネージャというのは,人々が1つのことに集中してそれを成し遂げられるよう,障害となるものを取り除くのが自分の仕事であると理解しているものだ.緊急作業が発生した場合には,プロジェクトに深く潜り込んでいるプログラマに委譲する前に,あなた自身でその作業をできないか考えてみることだ

このお言葉はシビレますな~.そうそう,あんたもたまには手を動かせよと.

メモ

ジョエルテスト

  1. ソース管理してる?
  2. ワンステップビルドできる?
  3. デイリービルドしてる?
  4. バグデータベースはある?
  5. 新しいコードを書く前にバグを直している?
  6. アップデートされているスケジュールがある?
  7. 仕様書はある?
  8. プログラマは静かな環境で作業している?
  9. 手に入る最高のツールを使っている?
  10. テスタはいる?
  11. 採用面接のときにコードを書かせてる?
  12. ユーザビリティテストしてる?
  • プログラムは書くのより読むほうが難しい.だからスクラッチで書きたがるそうな.
  • 開発者かちから尊敬されていないプログラムマネージャというのは,結局は何も成し遂げられないので効率的ではない.

プログラムマネージャに要求される第一のスキルは何か?それは,ソフトウェア開発者に自分の思うとおりのことをさせていながら,開発者にはそれが自分のアイデアであるかのように思わせる,という能力だ.