はじめに
前回の記事では、廃人育成を通して「成長への執着」について整理しました。
しかし、ポケモンのやり込み要素はそれだけではありません。
対戦勢の世界には、もう一つ有名な文化があります。
それが「厳選」です。
- 個体値
- 性格
- 特性
理想のポケモンを手に入れるために、同じ作業を何度も繰り返します。
外から見ると、「そこまで違うの?」と思われることもあります。
しかし本人にとっては重要です。
システム開発にも似たような場面があります。
今回は、
- エンジニアにとっての厳選とは
- なぜ設計は終わらないのか
- 完璧主義が生まれる理由
- 品質と効率のバランス
を、ポケモンの「厳選」として整理します。
厳選とは
ポケモンでは、
- 個体値
- 性格
- 特性
などによって能力が変わります。
そのため対戦勢は、
- 理想個体を探す
- 何度も育成する
- 少しでも有利な条件を求める
ことを繰り返します。
理論上は少しの差です。
しかし、その少しの差が勝敗を分けることがあります。
だから厳選します。
そして厳選には終わりがありません。
もっと良い個体がいるかもしれないからです。
これは開発現場でもよく見られる光景です。
エンジニアにとっての厳選とは
- 設計パターンの選定
- フレームワークの選定
- ライブラリの選定
- データベース設計
どれも、「どれが正解か」を考え始めると終わりがありません。
例えば、
- A案でも実現できる
- B案でも実現できる
- C案も悪くない
という状況は珍しくありません。
すると、「もっと良い方法があるのでは?」と考え始めます。
まさに厳選です。
なぜ設計は終わらないのか
設計が難しい理由は、正解が存在しないからです。
- 保守性を重視する
- 性能を重視する
- 開発速度を重視する
では最適解が変わります。
つまり、何を重視するかによって答えが変わるのです。
だから設計者は悩みます。
そして経験を積むほど、
- この問題も気になる
- あのリスクも気になる
ようになります。
知識が増えるほど、選択肢も増えるのです。
完璧主義が生まれる理由
エンジニアは真面目です。
そのため、
- バグを減らしたい
- 美しい設計にしたい
- 将来困らないようにしたい
と考えます。
これは素晴らしいことです。
しかし、その気持ちが強くなりすぎると、
- レビューが終わらない
- 設計が終わらない
- 実装が始まらない
という状態になります。
いわゆる「完璧主義」です。
厳選も同じです。
理想個体を追い続けると、いつまで経っても育成が終わりません。
良いエンジニアはどこで妥協するのか
経験豊富なエンジニアを見ると、意外なほど妥協が上手です。
もちろん品質は大切にします。
しかし同時に、
- 期限
- 予算
- チーム体制
も理解しています。
そのため、「完璧ではないが十分良い」という地点で決断できます。
これは技術力の一つです。
妥協は手抜きではありません。
限られた条件の中で最適解を選ぶ能力なのです。
品質と効率のバランス
厳選と品質
厳選することで、
- 設計ミス
- 技術選定ミス
- 将来の問題
に気付きやすくなります。
結果として品質が向上します。
経験豊富なエンジニアほど、「その選択は危険かもしれない」と気付けることがあります。
厳選と思考力
比較検討を繰り返すことで、
- 判断力
- 分析力
- 設計力
が向上します。
なぜA案ではなくB案なのか。
その理由を考えること自体が成長になります。
厳選と再利用
技術選定や設計で悩んだ経験は、次の案件でも活かせます。
厳選経験が増えるほど、判断速度と精度が向上していきます。
厳選の危険性
① 終わらなくなる
最大の問題はこれです。
- もっと良い設計があるかもしれない
- もっと良いライブラリがあるかもしれない
- もっと良い実装方法があるかもしれない
と考え続けると、永遠に決められません。
しかしプロジェクトには期限があります。
どこかで決断しなければなりません。
② コストを忘れる
品質向上にはコストがかかります。
例えば、
- 設計に10時間かける
- 設計に100時間かける
では結果が違います。
しかし品質が10倍になるとは限りません。
最後の数%を改善するために、膨大なコストを使うことがあります。
これは厳選でも同じです。
理想個体を求める時間に対して、得られる効果は小さいかもしれません。
③ 完璧を求めて何も作れなくなる
設計だけを続けていると、システムは完成しません。
実際に価値を生むのは、
- 設計書
- 議論
- アイデア
ではなく、動くシステムです。
厳選されたポケモンも、戦わなければ意味がありません。
本当に強い人とは
初心者の頃は、正解を探そうとすることが多いです。
しかし経験を積むと「多くの場合、正解は存在しない」ということに気付きます。
存在するのは、
- より適した選択
- より現実的な選択
だけです。
本当に強い人は、完璧な答えを探し続ける人ではありません。
限られた時間の中で、最善の判断を下せる人です。
おわりに
厳選とは、より良いものを追い求める文化です。
その結果として、
- 高品質な設計
- 深い技術理解
- 優れた判断力
が生まれます。
しかし同時に、
- 完璧主義
- 判断の先送り
- コスト増大
という危険もあります。
重要なのは、完璧を目指すことではなく、適切な地点で決断することです。
エンジニアの仕事も同じです。
理想を知りながら、現実の中で最適解を選ぶ。
それこそが、真の意味での「厳選」なのかもしれません。
次回予告
次回は、
- エンジニアにとっての色違いとは
- 希少性と実力の違い
- なぜ人は色違いを求めるのか
- 本当に価値のある希少性とは
について整理します。