バグを修正した。テストも通った。リリースした。でも1週間後、同じ原因から別のバグが生まれた。
要件を丁寧にヒアリングして実装した。コードの品質も高い。ただ、リリース後に「これじゃないんです」と言われた。
こうした経験に、エンジニアなら少なからず覚えがあるのではないだろうか。技術力の問題ではない。「何を解くべきか」の定義がずれていた、というのが多くの場合の原因だ。
コードを書く力、設計する力、実装する力。これらはトレーニングする方法が明確で、積み上げればいつかは伸びる。でも「問題の本質をつかむ力」は、意識的に鍛えなければ積み上がらない。エンジニアとしての経験年数が増えても、問題の見え方が変わらないという人が一定数いるのはこのためだ。
この記事では、問題解決力を技術スキルと同じように「鍛えるもの」として捉え直し、自分の問題の見え方を変えた5冊を紹介する。コードのバグから要件定義、チームの課題まで、あらゆる「問題」に対して使える思考の枠組みを与えてくれる本たちだ。
この記事で分かること:
- エンジニアが「問題の本質」を見誤りやすい2つの構造的な理由
- 問題解決力が高いエンジニアの思考のどこが違うのか
- 問題の見え方を変える力を鍛えたおすすめ本5冊
- 5冊の知見をエンジニアリングの現場で使う実践法
「問題の本質」を見誤ると何が起きるか
問題解決の質が低い状態とは、単に「解けない」ことではない。「解くべき問題が間違っている」状態だ。これはエンジニアとして働く中で、特定の場面で繰り返し発生しやすい。
症状を直しても、根本原因が残り続ける
バグ対応でよくあるパターンがある。エラーが発生した箇所をパッチで修正する。テストを通す。リリースする。しばらくして、同じ根本原因から別の場所で別のバグが生まれる。
このとき起きているのは「症状の修正」と「根本原因の解決」を混同していることだ。NullPointerExceptionが起きたから、nullチェックを追加する。これは症状への対応だ。なぜそのオブジェクトがnullになる可能性があるのか、設計上どこに問題があるのか、を問わない限り、根本は解決しない。
問題の本質を見るとは、「何が起きているか」ではなく、「なぜそれが起きているか」「どういう構造がそれを生んでいるか」まで遡ることだ。この習慣の有無が、問題解決の速さと再発防止の精度を決定的に変える。
要件を満たした機能が「使われない」理由
「要件通りに作ったのに誰も使わない」という状況も、問題の定義ミスから生まれることが多い。ユーザーが「こういう機能が欲しい」と言った言葉をそのまま要件として受け取ると、実際にユーザーが解決したい本質的な課題とずれることがある。
フォームの入力項目を減らしてほしいというリクエストがあったとする。入力項目を5個から2個に減らした。ユーザーからは「ありがとうございます」と言われた。でも離脱率は変わらなかった。本当の問題は入力項目の数ではなく、フォームを開く前の段階での説明不足だったかもしれない。
「何を作るか」ではなく「何のために作るか」「どんな状態を解決したいのか」まで問いを深めること。これが問題の本質をつかむということだ。要件定義のフェーズで問いの質が上がると、開発全体の方向性が変わる。
問題解決力が高いエンジニアの思考はどこが違うのか
同じ現場にいて、同じ課題に直面しているのに、問題の解き方が速く、再発が少ないエンジニアがいる。そういうエンジニアの思考のどこが違うのかを観察すると、いくつかの共通した特徴がある。
「何が問題か」を定義することに時間をかける
問題解決が速いエンジニアは、着手する前に「何が問題か」を言語化する時間を意識的に取る。障害が起きたとき、すぐにコードに向かうのではなく、まず「この障害の本質は何か」「どの仮説が最もありそうか」を整理してから動く。
一見すると回り道に見えるが、問題の定義に時間をかけることで、解決の方向性のずれが防げる。間違った問題を解くのに費やした時間は、問題を正確に定義するのに費やす時間の何倍にもなる。「正しく解く」より「正しい問題を解く」方が、エンジニアリングの効率を大きく変える。
仮説を立ててから調査・検証する
問題解決が速いエンジニアは、「とりあえずログを全部見る」ではなく「おそらくこの原因だろう」という仮説を先に立ててから調査に入る。仮説がなければ、調査の範囲が広がりすぎて時間を浪費する。
仮説思考の核心は「最初から全部調べようとしない」ことだ。80%の確率でこれが原因だろうと思えるなら、まずその仮説を検証しに行く。外れたら次の仮説を立てる。このサイクルが速い人は、問題解決の速度が全体的に上がる。
「なぜ」を繰り返して構造を見る
表面的な現象に対して「なぜそれが起きるのか」を繰り返し問うことで、根本原因に近づいていく。トヨタ生産方式で有名な「なぜなぜ分析」はその代表例だが、エンジニアリングにおいても同じ思考が有効だ。
「ページの読み込みが遅い」→「なぜ?」→「APIのレスポンスが遅い」→「なぜ?」→「N+1クエリが発生している」→「なぜ?」→「ORMの使い方への理解が不足していた」→「なぜ?」→「コードレビューでのORMの使い方確認が抜けていた」。このように「なぜ」を繰り返すと、コードの問題が組織・プロセスの問題として見え始める。問題の見え方のスケールが変わる体験だ。
問題の見え方を変えるおすすめ本5冊
問題解決力を技術スキルと同じように体系的に学べる、エンジニアに特におすすめの5冊を紹介する。それぞれ異なる角度から「問題とは何か」「どう解くか」を教えてくれる。
イシューからはじめよ
著者:安宅和人
「解くべき問いを正しく立てることが、問題解決の8割を決める」という主張を軸に、バリューのある仕事の設計方法を解説した一冊。マッキンゼーとYahoo! JAPANの両方で実務を経験した著者による、具体性と理論の密度が高い内容だ。
「イシュー度が高く、解の質も高い仕事が価値ある仕事」という定義から始まり、良いイシュー(本質的な問い)の見分け方、仮説の立て方、答えの出し方が体系的に解説されている。エンジニアとしての活用場面は広い。新機能開発の前に「これは本当に解くべきイシューか」を問う習慣、技術的負債の優先度判断、チームの施策の優先順位付け。「正しい問いを立てる」という視点が業務全体を変える。
Amazonで見る →この本はAudible(オーディブル)で聴くこともできます。今なら1冊無料でお試し →
仮説思考
著者:内田和成
BCGのコンサルタントとして実務を積んだ著者が、「仮説を先に立ててから検証する」という思考プロセスを解説した一冊。情報収集や分析を先に行う「積み上げ型」の思考との対比で、仮説思考の強さが明確に示される。
「全部調べてから結論を出す」ではなく「結論の仮説を先に立てて、それを検証しに行く」というアプローチは、エンジニアの障害対応やパフォーマンス改善に直接応用できる。ログを全部調べる前に「おそらくこのクエリが原因だ」という仮説を立てる。APIの全エンドポイントをプロファイリングする前に「このエンドポイントが重い可能性が高い」と仮説を立てる。仮説があれば調査が速く、精度が上がる。エンジニアとして問題解決の速度を上げたいなら、この本は必読だ。
Amazonで見る →この本はAudible(オーディブル)で聴くこともできます。今なら1冊無料でお試し →
地頭力を鍛える
著者:細谷功
フェルミ推定を題材に、「考える力」そのものを解説した一冊。地頭力とは「論理的思考力」「直観力」「仮説思考力」の3つから成り、問題の本質をつかむための土台になる力だと著者は定義する。
「電柱は日本に何本あるか」というフェルミ推定の問いを通じて、情報が足りない状況でも「それらしい答え」を導き出す思考プロセスが解説される。エンジニアがシステムのボトルネックを「計測なしに推定する」力、スプリントの見積もりを概算で出す力、アーキテクチャの選択肢をゼロから比較する力。「答えがわからない問い」に向き合う力は、技術的な経験と並んでエンジニアの価値を決める。その力を鍛える方法を、この本が体系的に教えてくれる。
Amazonで見る →この本はAudible(オーディブル)で聴くこともできます。今なら1冊無料でお試し →
思考の整理学
著者:外山滋比古
1983年に初版が刊行され、今なお読み継がれる知的生産の古典。「考える」という行為そのものを整理し、情報の詰め込みではなく、自分の中で知識を発酵させる思考のあり方を語った一冊だ。
「グライダー型」と「飛行機型」の思考という比喩が印象的だ。与えられた情報を処理するだけの思考(グライダー型)ではなく、自ら問いを立て、自律的に考えを飛ばせる思考(飛行機型)へ。エンジニアが技術を「覚える」フェーズから「考える」フェーズへ移行するために必要な視点が、この本にある。問題に直面したとき、すぐにStackOverflowを検索するのではなく、まず自分の頭で仮説を立ててみる。そのためのメンタルモデルを作るのに役立つ一冊だ。
Amazonで見る →この本はAudible(オーディブル)で聴くこともできます。今なら1冊無料でお試し →
ゼロ秒思考
著者:赤羽雄二
マッキンゼー出身の著者が実践する「A4メモ書き」を使った思考整理法を紹介した一冊。タイトルの通り、「瞬時に考えを整理して前に進む」ための習慣と思考法が解説されている。
「A4用紙に1分間で考えを書き出す」という単純な行為が、思考の曖昧さを取り除き、問題の輪郭を明確にする。エンジニアとしての実践場面は多い。設計の議論が行き詰まったとき、A4に「この設計で何を解決したいのか」を1分書き出す。障害対応中に頭が混乱しているとき、「現在確認できていること・できていないこと」を1分書き出す。この習慣が、思考の整理速度と問題の見え方を変える。言語化の速度と精度が上がると、チーム内の議論の質も変わる。
Amazonで見る →この本はAudible(オーディブル)で聴くこともできます。今なら1冊無料でお試し →
5冊の知見をエンジニアリングの現場で使う実践法
本から得た思考の枠組みは、現場で使わなければ身にならない。5冊から得られる知見を、エンジニアの具体的な業務場面に落とし込む方法を紹介する。
バグ対応時に使う「イシュー思考」3ステップ
障害・バグ対応時に以下の3ステップを試してみてほしい。
- ステップ1:「何が起きているか(症状)」ではなく「なぜそれが起きているか(構造)」を先に書き出す
- ステップ2:根本原因の仮説を3つ立て、最もありそうなものから検証する
- ステップ3:修正後に「同じ構造から生まれうる他のバグ」を確認し、セットで対処する
このステップを踏むと、1回の対応で根本まで修正できる確率が上がり、再発率が下がる。最初は時間がかかるように感じるが、繰り返すうちにバグの原因特定が直感的に速くなっていく。
要件定義・設計議論に使う「仮説思考」の実践
要件定義の場面で、ユーザーや顧客の言葉をそのまま要件として受け取る前に「この要望の背景にある本質的な課題は何か」を問う習慣を持つことで、作るものの方向性が大きく変わる。
具体的には以下の問いを使う。
- 「この機能によって、どういう状態になりたいですか?」(解決後のゴールを聞く)
- 「今、その問題が解決されていないことで、どんな困りごとがありますか?」(問題の実態を聞く)
- 「この機能以外の方法でも解決できるとしたら、それでもいいですか?」(手段への固執を外す)
これらの問いは、ユーザーが「解決策」として提示した要件の背後にある「本当に解きたい課題」を引き出す。開発後の「これじゃないんです」を防ぐ最も効果的な方法だ。
思考が詰まったときの「ゼロ秒思考」メモ実践
設計の議論が行き詰まったとき、コードのアーキテクチャ判断で迷ったとき、レビューで方向性が揺れているとき。A4用紙を1枚取り出して、「今自分が迷っていることは何か」「選択肢はいくつあるか」「それぞれの懸念点は何か」を1分間書き出す。
頭の中で考えているだけでは、思考がループしやすい。書き出すことで思考が外部化され、俯瞰して見られるようになる。ゼロ秒思考のメモ書きは、この「思考の外部化」を習慣にするための実践的な方法だ。1回1分という短さが継続しやすく、続けると思考の言語化速度が上がり、チームでの議論時にも自分の考えを素早く整理して話せるようになる。
5冊の読み順と組み合わせ方
5冊を目的別に読む順番を整理する。どこから読み始めるかによって、得られる気づきが変わる。
「バグ対応・障害対応の質を上げたい」場合
仮説思考 → イシューからはじめよ → ゼロ秒思考の順がおすすめだ。仮説思考で「先に仮説を立てて検証する」サイクルを理解し、イシューからはじめよで「解くべき問いの立て方」を深め、ゼロ秒思考で「思考を素早く整理する」実践習慣を作る。
「要件定義・設計の質を上げたい」場合
イシューからはじめよ → 地頭力を鍛える → 仮説思考の順がおすすめだ。イシューからはじめよで「正しい問いを立てる」視点を得て、地頭力を鍛えるで「答えが出ない問い」への向き合い方を学び、仮説思考で設計の選択肢を仮説として整理する力を養う。
「思考の基礎体力を上げたい」場合
思考の整理学 → 地頭力を鍛える → ゼロ秒思考の順がおすすめだ。思考の整理学で「考えることとは何か」という根本から問い直し、地頭力を鍛えるで問題に向き合う姿勢を作り、ゼロ秒思考で毎日の実践習慣に落とし込む。思考力の底上げを目指す場合は、この3冊で土台を作ってからイシューからはじめよと仮説思考に進むと体系的に理解できる。
よくある質問(FAQ)
Q1. 問題解決思考の本は「コンサル向け」で自分には関係ない、と感じます。
今回紹介した本はコンサル出身の著者によるものが多いですが、内容はエンジニアリングの現場で使える思考の枠組みです。バグ対応、要件定義、設計の意思決定。これらはすべて「問題を正確に定義して解く」プロセスであり、仮説思考やイシュー思考の直接適用先です。コンサルの文脈より自分の業務の文脈で読むと、刺さる箇所が増えます。
Q2. 「イシューからはじめよ」は難しそうですが、エンジニアでも読めますか?
論理的に書かれている本ですが、文章は平易で読みやすいです。「バリューのある仕事とは何か」という問いから始まり、図や具体例も多く使われています。エンジニアよりビジネスパーソン向けの例が多い部分もありますが、「正しい問いを立てる」という核心の考え方は技術職の仕事にそのまま使えます。
Q3. 「思考の整理学」は古い本ですが、今も通用しますか?
1983年初版ですが、「考えることとは何か」という本質を扱っているため、今も通用します。AIが登場した時代だからこそ、「情報を処理する力」より「問いを立てる力」「考えを整理する力」の重要性が増しており、この本が伝えるメッセージは今の方がより刺さる部分があります。
Q4. ゼロ秒思考のメモ書きは、PCで実践してもいいですか?
著者は紙を推奨しています。デジタルだと入力速度・フォーマットへの気遣いが思考を止めやすいのが理由です。ただし、継続できる形が最優先です。NotionやObsidianで時間を計りながら書くやり方でも実践している人は多くいます。まず紙で試してみて、続かなければデジタルに移行するのが現実的です。
Q5. 「仮説を立ててから動く」と、重要な情報を見落としませんか?
仮説思考は「情報を収集しない」ということではありません。「最初に仮説を立て、その仮説を検証するために必要な情報を集める」という順序の違いです。仮説が外れたら次の仮説を立てる。このサイクルを回すことで、全部調べてから考える積み上げ型より、重要な情報を効率よく集められます。ただし、仮説の質を高めるためには最低限の知識が必要なため、ドメイン知識の蓄積と並行して磨くスキルです。
Q6. これらの本はコーディング中に聴けますか?
思考法・問題解決系の本は、手を動かしながら「ながら聴き」するよりも、通勤時間や休憩中に集中して聴く方が理解しやすいです。ただし、「仮説思考」「地頭力を鍛える」のように具体例が多い本は、耳で聴きながら「自分ならどの場面でこれを使うか」と考えるのに向いています。まずAudibleの無料体験で1冊試してみることをおすすめします。
Q7. 問題解決思考を鍛えると、実際にどんな変化がありますか?
最初に変化を感じるのは「問題を言語化する速さ」です。チーム内の議論で「この問題の本質はこういうことですよね」と整理できるようになります。次に「調査の効率」が変わります。闇雲に調べるのでなく、仮説から検証に向かえるようになります。長期的には、問題の「再発防止」の精度が上がります。表面だけでなく根本を解決する習慣が身についた分、同じ問題が繰り返される回数が減っていきます。
まとめ
「問題の本質をつかむ力」は、コーディングスキルや設計力と同じように、意識的に鍛えるものだ。技術的な経験年数が増えるだけでは、この力は自然には育たない。問いの立て方、仮説の作り方、思考の外部化。これらの訓練なしに積み上げた経験は、同じ種類の問題を速く解けるようにはしてくれるが、「まだ見たことのない問題」の前では止まってしまう。
今回の5冊は、それぞれ異なる角度から問題の見え方を変えてくれる。
- イシューからはじめよ:「解くべき問いを正しく立てる」力を得る
- 仮説思考:「先に結論の仮説を立てて検証する」思考サイクルを身につける
- 地頭力を鍛える:「答えがわからない問い」に向き合う力を鍛える
- 思考の整理学:「自分の頭で考える」という習慣の土台を作る
- ゼロ秒思考:「思考を素早く外部化する」実践習慣を作る
どれか1冊から読み始めて、次の障害対応や設計議論で意識的に使ってみてほしい。問いの立て方が変わる体験は、エンジニアとして新しい扉を開ける感覚に近い。技術力と問題解決力の両方を持つエンジニアが、最も困難な問題に挑める人材になる。
📖 仕事術の基本をまとめて学ぶならこちら
エンジニアの仕事術|生産性・集中力・学習速度をまとめて上げる実践ガイド →