blog.unhappychoice.com

全員 8 割が最低ライン ― かなづち使えない棟梁問題

2026-08-04

「フルスタックエンジニア」という言葉が流行っては廃れる、を繰り返している。 全部書ける人が偉い、という話ではないが、「私はフロントだけです」で済むかというと、たぶん済まない。

エンジニアと作業者を分けているのは担当範囲ではなく、問題を最初から最後まで見通せるかどうかだ。 そういう人を育てるには、全員が全領域を 8 割わかっている状態を最低ラインに置くしかない、というのがこの記事の話だ。

エンジニアかどうかは、担当範囲では決まらない

エンジニアと作業者の線引きを、担当技術やポジションでやろうとすると、たいてい失敗する。 フロントエンジニア、バックエンドエンジニア、インフラエンジニア、といった分類は、扱う技術の話をしているだけだ。 その人がエンジニアなのかどうかの判定にはなっていない。

もう少し実態に近い線引きは、扱う問題の抽象レイヤを上下に自由に移動できるかどうか、で切ることだ。

  • エンジニア
    • 顧客の状況、事業の狙い、システムの制約、実装の詳細、運用の実情までを繋いで見て、その全部に噛み合う解を作れる人
  • 作業者
    • 与えられた局所仕様を、その背景を問うことなく実装する人

この線引きだと、フロント専業でも、顧客の行動、API の設計、状態管理、計測、運用まで読めるならエンジニアだ。 逆にバックエンドもインフラも触れる人でも、事業や顧客と切れているなら作業者になる。 担当技術は、実は関係ない。

なぜこの線引きにこだわるかというと、局所解を積み上げただけでは、プロダクトとしては噛み合わないことが多いからだ。 バックエンドだけ、フロントだけ、インフラだけ、データだけ、と切ると、そのレイヤ内では綺麗に見えても、ユーザー体験、事業制約、運用負荷、開発速度との接続が切れる。

プロダクトの品質は、全レイヤの制約を同時に満たす近似解が出せているかで決まる。 視野が狭いと、そもそも最適化する対象を間違えやすい。 担当だけを完璧にやっても、プロダクトとして噛み合わなければ、そのぶんの成果は目減りしてしまう。

「LLM がいるから書けなくていい」は、かなづち使えない棟梁と同じ

「LLM が実装をやってくれる時代なんだから、もう自分では書けなくていい」という論が最近よく出る。 気持ちはわかるが、これは棟梁が「もうかなづちは使えなくていい」と言っているのと構造が同じだ。

棟梁がかなづちを「振らないこと」と「使えないこと」は、まったく違う。

振らない棟梁は、自分で家を建てはしない。 だが、どこが難しいかも、どのくらい時間がかかるかも、どこで手を抜けば後で崩れるかも、身体でわかっている。 だから設計判断ができるし、職人にどこまで任せて良いかも判断できる。

かなづちを振ったことがない棟梁は、これができにくい。 設計が現場で通らなかったり、見積もりが実態から乖離したりしがちで、任せる相手の見極めも難しくなる。 結果として、判断が上滑りしやすくなる。

ソフトウェアでも同じことが起きる。 実装ができないまま設計判断だけをやると、こうなる。

  • 仕様の乖離
    • 作れないものを作れと言い出す
  • 部分は動くが全体は壊れる
    • 局所的には動くが、システム全体としては崩壊している
  • 本質と慣習の混同
    • 何が本質的な制約で、何がただの慣習なのかの区別がつかない
  • LLM 出力の評価不能
    • LLM が出してきたコードが良いのか悪いのかを判断できない

LLM が実装を代わりにやってくれる時代でも、「書ける」は最低ラインで、「構造を見て判断できる」がその上に乗る本体だ、というのはこの意味で成り立つ。 書けない棟梁が、ハンマーの代わりに LLM を持っただけでは、判断精度は上がらない。 判断のための身体感覚は、自分で書いてしか身につかない。

全員が全領域を 8 割わかっていて、自分の中核だけ突き抜けている

以上を踏まえて、じゃあどういうチームなら成立するのか、を書く。 結論を先に置くと、こういう状態が理想になる。

全員が、プロダクトに関わる全領域を「実務判断に使えるレベル」で理解している。その上で、自分の中核領域だけは、周囲に対して圧倒的に深い。

「実務判断に使えるレベル」の中身は、次の領域を、会話でわかったフリをするのではなく、自分の判断根拠として使える、という意味だ。

  • 顧客と業務
  • 市場と競合
  • UI と UX
  • データと計測
  • 実装と設計
  • インフラと運用
  • セキュリティ
  • 法務・コンプライアンス
  • 収益構造

ここが 8 割ある、というのが最低ラインになる。

その上で、自分の役割に応じた中核領域だけ、突き抜けて深い。

  • エンジニアなら
    • 実装・設計・DB・インフラ・監視・性能・データ・UX・ドメイン理解・顧客理解あたりが、一つのまとまった塊として深い
  • デザイナーなら
    • 体験設計まわりの塊が深い
  • 事業側なら
    • 市場と顧客と収益の塊が深い

大事なのは、この「深い部分」が単発のスキルの尖りではなく、関連する領域がまとまった塊として深いことだ。 よく言われる T 字型(一つだけ深い)では、実は足りない。 もっと山脈のような、隣接する領域がひと繋がりで盛り上がっている形が要る。

この状態になっていると、チーム内の会話が「相手にゼロから説明する場」ではなく「差分だけ同期する場」になる。 それぞれが全体を持っているので、通訳が要らない。

逆に、各人が 3 割ずつしか持っていない島同士だと、毎回プロトコル変換が必要になる。 組織全体が、細い口頭パイプで繋がる低帯域バスになる。

フロントに座る PdM を「情報の窓口」として細い帯域で叩き続けている状態は、その典型だ。 分業ではなく、本来自分で取りに行くべき情報を、他人経由で受け取ろうとしているだけの、情報の外注になっている。

「全部わかっていないといけない」は厳密には無限で無理だ。 だが、「自分の出すものに影響する情報を、自分で取りに行く責任がある」の方は、かなり素直に成り立つ。 ここを人任せにしてしまうと、実装者として部分問題だけを解いている状態に寄りやすい。 オーバーヘッドではなく、出力の質のための必要条件と捉えた方がしっくり来る。

「作業者でいる」は、実は自分を守っていない

「そこまで責任を負いたくない」「担当範囲だけやりたい」という選択肢は、当然ある。 ただ、それが自分を守るかというと、たぶん長期では守らない、というのがここまでの流れの帰結だ。

作業者のポジションを取ると、責任範囲は狭くできる。 だが、そのぶん納得感・裁量・学習速度・市場価値も一緒に狭くなる。

短期的には「言われたことをやっただけです」で痛みを避けられる。 だが、プロダクトが滑ったときの無力感は残るし、成果が出ても、それが自分の判断で勝ち取ったものにはならない。 責任から逃げた分だけ、達成感も同じ量だけ逃げていく。

作業者でいるのは防具に見えるが、実際には視界を少し狭めている面もある。 理解していない領域に依存しながら仕事をしている状態は、構造的にどうしても不安定になりやすい。 不安の発生源に触れないことで、その場は落ち着くが、根元は残る、ということが起きがちだ。

とはいえ、人は安きに流れる。 これは意志の弱さではなく、コスト構造の問題だ。

  • 全領域 8 割の維持
    • 毎日コストが発生する。しかも見返りが見えにくい
  • 担当だけやります
    • 短期の見返りは、はるかに見えやすい
  • 責任範囲の限定
    • 「そこは PdM が」「そこはインフラが」と言えるので、心理的にも楽

ほうっておくと、意図的に逆らわない限り、人は作業者側に流れていく。


裏を返せば、意図的に逆らって、全領域 8 割の維持を続けられる人ほど、長期でエンジニアであり続けやすい。

プロダクト作りは総合格闘技に近い。 派手な技術ではなく、地味な基礎練の積み重ねの方が、最終的には効いてくる。