Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

闇の魔術に対する防衛術

2,315 views

Published on

2015.12.12 (だいたい)新卒エンジニア向け技術交流会 vol.5

Published in: Technology
  • Be the first to comment

闇の魔術に対する防衛術

  1. 1. 闇の魔術に対する防衛術 2015/12/12 (だいたい)新卒エンジニア向け技術交流会 vol.5 @hoto17296
  2. 2. アジェンダ • 闇の紹介 • クソコード • クソ設計 • クソエンジニア • 闇とどう立ち向かえばいいか
  3. 3. (前置き)
  4. 4. この世界は クソプロダクトで れかえっている
  5. 5. たとえクソプロダクトでも 価値が提供できていれば それでいい
  6. 6. ただぼくたちエンジニアが 心穏やかでないというだけ
  7. 7. 闇の紹介
  8. 8. クソコード • テストが書かれていないのはデフォ • 過剰な抽象化 • 「やってみたかっただけ」感 • 1機能の些細な修正がプロダクト全体に影響 • フレームワークの思想やデザインパターンをガン無視 • View にデータ更新処理が書いてある
  9. 9. クソ設計 • Web サーバ2台あるはずなのに1台死んだら
 サービスが止まった • 互いのミドルウェアに依存していた • 冗長化 #とは • 冗長化してると思ったらただの負荷分散だった
  10. 10. クソエンジニア • 深夜に障害対応をしてありがたがられる • 障害の原因を作ったのもお前だ • 徹夜で開発して重宝がられる • 「残業はデフォ」みたいな空気を作るな
  11. 11. しかし
  12. 12. もう辞めたエンジニアを
 愚痴ってもなにも改善しない
  13. 13. 前に進もう
  14. 14. 闇に立ち向かう方法
  15. 15. バージョン管理 • 闇を生まないための基本 (1) • いつ誰が何をどう変更したのかがわかる • 以前の状態にロールバックできる
  16. 16. コードレビュー • 闇を生まないための基本 (2) • 責任の分散 • 「見抜けなかった俺も悪かった」 • 「レビューされる」という意識を持つことで
 気が引き締まる
  17. 17. テストケース • 闇が生まれても倒せる • 高速な開発サイクルを回すのに必要不可欠
  18. 18. しかし結局 どうやったって 闇は生まれる
  19. 19. 闇を許容せよ
  20. 20. 許容したうえで、 立ち向かう強さを持とう
  21. 21. ハンロンの剃刀 (Hanlon's razor) Never attribute to malice that which is
 adequately explained by stupidity. 無能で十分説明されることに悪意を見出すな
  22. 22. クソプロダクトは 無能や愚かさから 生まれるのであって
  23. 23. そこに悪意が あるわけではい
  24. 24. 人は誰しもがどこか 無能で愚かなのであり
  25. 25. 人によってその程度が 少し違うだけである
  26. 26. だから
  27. 27. おもむろに git blame -w <file> で 犯人を探し出して
  28. 28. は い 死 ね | !!!
  29. 29. やめよう
  30. 30. 心穏やかに エンジニアリング しよう

×