翻訳のレビューをやらせて頂いたのでご紹介。実際はほとんど貢献してないのだけど、まじで。それでも多少なりとも自分が関わったものが世に出るのは嬉しいです。
プロのプログラマ*1になるために必要なことが書いてある。僕の世代だとプログラミング作法とか達人プログラマーなんかが同じジャンル。それらの本と違って初心者プログラマ向けではない。この本にはプログラマ歴10年の僕にだって役に立つことが書いてある。むしろプログラミングでそれなりに飯が食えるようになった人が読むべき。
大学卒業して、社会人でプログラマをやって3年経つとシステムのある部分を作れるようになる。10年経つと、お客さんとの調整やら必要なものの調達まで含めて大体一人でシステム作れるようになる。しかしその時33歳。世でいうプログラマの定年35歳までわずか2年。ここで管理職にジョブチェンジすべきか、それとも定説を打ち破ってプログラマを続けるべきか迷う。プログラムが好きでプログラマであり続けることを選択したくとも不安がある。重大な問題がある、何しろロールモデルが居ない。
そこで本書が役に立つ。著者はファースト世代のプロのプログラマ。著者自身にはロールモデルになる人はいなかったそうだが、42年もプログラマを生業にしてきたのは伊達じゃない。30年先に居る先達がどうやってプログラマを続けてきたかを教えてくれるのだから、これを読まない手はない。著者が失敗した話も書いてあるし、失敗を防ぐための規律も書いてある。書いてある規律は簡単に守れるものではないが、失敗経験が書いてあることで規律の重みが伝わってくる。
35歳の壁を打ち破るにはコーディングが上手いプログラマではダメなのだ、プロのプログラマである必要がある。「No」と言えること。自らを鍛えつづけれること。プレッシャーがあってもタフに規律を守れること。そうすればビジネスに貢献できるし、仕事のパートナーとして信頼されることができる。ソフトウェアのプロになるには本書が必要だ!
目次
- 序章 必読イントロダクション
- 第1章 プロ意識
- プロになる前に注意したいこと
- 責任を取る
- 第一に危害を加えてはいけない
- 労働倫理
- 参考文献
- 第2章 「ノー」と言う
- 反対者の役割
- 大金
- 「チームプレーヤー」になる
- 「イエス」と言う代償
- コードの実現不可能性
- 第3章 「イエス」と言う
- 約束の言葉
- 「イエス」と言う方法を学ぶ
- 結論
- 第4章 コーディング
- 準備
- フローゾーン
- 書きたいのに書けない
- デバッグ
- 自分のペースを保つ
- 遅れ
- ヘルプ
- 参考文献
- 第5章 テスト駆動開発
- 結論は出た
- TDDの3原則
- TDDは何ではないか
- 参考文献
- 第6章 練習
- 練習の背景
- コーディング道場
- 経験を広げる
- 結論
- 参考文献
- 第7章 受け入れテスト
- 要求のコミュニケーション
- 受け入れテスト
- 結論
- 第8章 テスト戦略
- QAは何も見つけてはいけない
- テスト自動化ピラミッド
- 結論
- 参考文献
- 第9章 時間管理
- 会議
- 集中力のマナ
- タイムボックスとトマト
- 回避
- 袋小路
- 沼・沼・沼
- 結論
- 第10章 見積もり
- 見積もりとは何か?
- PERT
- 作業を見積もる
- 大数の法則
- 結論
- 参考文献
- 第11章 プレッシャー
- プレッシャーから逃れる
- プレッシャーを乗り越える
- 結論
- 第12章 協力
- 「プログラマ」対「ピープル」
- 小脳
- 結論
- 第13章 チームとプロジェクト
- 混ぜる?
- 結論
- 参考文献
- 第14章 指導・職人気質・徒弟制度
- 学位の不全
- 指導
- 徒弟制度
- 職人気質
- 結論
- 付録A ツール
- 索引
*1:お金を貰ってるいるという意味でなく、お金を貰うに値するという意味