Above & Beyond

日々のアウトプット記録

エンジニアアンチパターン を読みました

技術書典では購入できなかったけど、昨日「ビブリオバトル」に参加して読んでみたくなってポチった「エンジニアアンチパターン」を読みました。

分量もそれほど多くはなく、文章も読みやすいのでサクッと読めました。

感想

この本のテーマは「失敗から学びを得よう」です。 著者自らの失敗をアンチパターンと捉えて、以下の内容を加えることで読者が学びを得られるように書かれています。

  • 失敗を自ら分析
  • 考察やベストプラクティスを追加

失敗を後世に活かす、という意味で「失敗の本質」という本が参考として出てきます。

失敗の本質―日本軍の組織論的研究 (中公文庫)

失敗の本質―日本軍の組織論的研究 (中公文庫)

とまぁ、前置きはこのくらいにして、内容の方ですが、 目次を抜粋したほうが分かりやすいと思うので最初に抜粋しておきます。

  • 第1章 プログラミング: パフォーマンスが悪いプログラム
  • 第2章 データベース: レプリケーションが遅延するSQL
  • 第3章 サーバー: たった 1 文字のタイプミスで消えた設定ファイル
  • 第4章 リファクタリング: リリース後にテストまでしたのに、数時間後にエラーになるプログラム
  • 第5章 技術選定: DB の相性問題が発覚する、詰めが甘い技術選定
  • 第6章 プロジェクト管理: 過小見積もりで炎上するプロジェクト
  • 第7章 UI/UX: ユーザーの目を見ない開発
  • 第8章 スキルアップ: 生存戦略に振り回された学習

と、IT業界にいる人なら誰しも一度は目にする(そして自分でハマる)失敗の事例が並んでいます。
分かっちゃいるけど、やってしまう。
自分で振り返ってみても

  • CSVファイルを一気にメモリに読み込んでしまう
    (CSVに限らず、ファイルサイズが巨大だと。。。)
  • サーバー間でのレプリケーション
    (性能差があると同期がうまくいかなくなるよね。。。)
  • crontabのオプション
    ("e"と間違えて"r"をオプションに指定して頭ハゲそうになったこと有ったっけ。設計したやつ出てこい。。。)
  • キャッシュクリア
    (メモリ上に残ったプログラムでたまたま動いているとかぁぁぁぁ。。。)
  • フレームワーク
    (事前検証ちゃんとやらないと。。。)
  • はじめての言語
    (見積もり、エイ!ヤー!トー!で昔作ってエライ目に。。。)
  • 見た目はかっこいい
    (プログラスバー(GIFアニメ)動いているんだけど処理が終わらないとか問い合わせ来たっけ。。。)
  • 勉強会
    (うっ、これは刺さるぞ、、、、(泣))

そんな失敗を冷静に分析され、「こうすればよかったのでは?」という事がきちんと書かれているところはすごくいいなと思いました。
自分で書いたら悲壮感あふれる文章になっちゃうと思うけど、客観的に捉えられる、というか。
若い人にも、そこそこの経験を持った人にも学びと共感ポイントのある本だなと思います。
もし興味を持って読んでもらえたら、いいなと思いました。