はじめに
「なぜあの先輩は、ターミナルに赤文字が出た瞬間に原因を当て、設計レビューでも数秒で論点を整理できるのか?」 単に経験値が高いだけと思いがちですが、裏には“脳の使い方”そのものを鍛え上げた結果があります。
ベテランエンジニアの思考スピードを支えるのは、次の3つのしくみです。
- ワーキングメモリ – 情報を一時的に並べ替える「頭の作業台」の役割
- システム1とシステム2 – 「瞬時の直感」と「じっくり熟考」を切り替える二つの思考モード
- メタ認知 – どのモードで考えるかを判断し、戦略を修正する司令塔の役割
どうも、ウィルゲートのVPoEのzoe(@for__3)です。
今回は、1on1やエンジニアの成長要因を考えていた際にふと気づいたベテランエンジニアの思考の癖、あるいは仕事ができる人の思考方法と言っても良いかもしれません。 本記事ではワーキングメモリ、システム1・システム2、メタ認知この3要素を図と具体例で噛み砕き、初心者でも今日から伸ばせるトレーニング法までまとめます。思考の仕組みを理解し、意識的に鍛えることが技術力そのものを加速させる近道です。
ワーキングメモリとは何か?
ワーキングメモリ(作業記憶) とは、短い時間だけ情報を覚えておいて、同時に何か処理をするための「頭の作業台」のような機能です。
「37 + 48 × 2」を暗算しようとするとき、まず「48 × 2 = 96」を計算し、その結果を覚えたまま「37 + 96 = 133」を計算します。このときの「96を覚えている」「37を足す」という作業を同時にこなしているのがワーキングメモリです。
どういうときに使われるのか?
- コードを読解するときに変数の意味や関係性を一時的に保持する
- 複雑なエラー原因を推論する際、状況を並行して思考する
伸ばすとどうなる?
一時的な情報の保持が得意になり、思考のスピードと正確性が上がります。
ワーキングメモリが思考力の拡張につながる
ワーキングメモリを鍛えることは、「考える力」そのものを伸ばす土台になります。思考の負荷を減らすためにすぐに対応できる処理(システム1)を増やす、あるいはじっくり考える場面(システム2)に余裕を持たせる準備になるからです。
次に、それらの「思考モード」であるシステム1とシステム2について詳しく見ていきましょう。
システム1とシステム2とは?
心理学者ダニエル・カーネマンの二重過程理論では、人間の思考はシステム1とシステム2の二つのモードで動いていると説明されます。ここでは両者を個別に見ていきましょう。
システム1(直感・自動処理)
特徴 | 説明 |
---|---|
性質 | 直感的・高速・自動/低エネルギー消費 |
強み | 経験則を生かした瞬時の判断、習熟タスクの高速実行 |
例 | 2 + 2 の即答、慣れた if 文の入力、交通標識の即時認識 |
なぜ大事なのか?
繰り返しの練習で処理をシステム1に任せられるようになると、より複雑な問題に脳のリソースを回せます。
伸ばすコツ
システム1の領域を広げるには、以下のような短時間・高頻度の練習を習慣化するのが効果的です。
ショートカット反復練習:IDE のキーバインドをタイピングゲーム感覚で練習する
パターン化タスク:よく出るコードスニペットをテンプレ化し、意識せず書けるまで繰り返す
システム2(熟考・論理処理)
特徴 | 説明 |
---|---|
性質 | 意図的・論理的・ゆっくり/高エネルギー消費 |
強み | 未知の問題の分解、複数条件の比較、抽象化と設計判断 |
例 | 37 × 19 の暗算、初見 API の仕様検討、複雑なアルゴリズム設計 |
なぜ大事?
初学者はほぼすべてをシステム2で処理するため負荷が高く感じます。鍛えて容量と速度を上げれば、設計レビューや未知のバグ調査でも論理的に深掘りする余裕が生まれます。
システム2を拡充するには?
- 分解→再構築トレーニング:リファクタリングで変更理由を言語化しながら改善する
- 多ステップ推論:プログラム問題などを制限時間内に解く
- 仮説検証サイクル:バグ調査を仮説→テスト→検証のログ付きで実施する
- 抽象化演習:デザインパターンを「意図→効果」でまとめ直す
メタ認知はシステム1とシステム2を切り替える司令塔
システム1・システム2とメタ認知の関係
システム1は“即断即決”の自動処理、システム2は“じっくり熟考”の論理処理。メタ認知はその上で「今どちらを使うべきか」を判断し、必要なら切り替える司令塔です。
メタ認知の働きは大きく2つ。
- モニタリング – 現状把握。「いま何を考え、どこが曖昧か」を可視化する。
- コントロール – 戦略選択。思考モードを切り替え、ワーキングメモリ資源を最適配分する。
これにより、システム1の速さとシステム2の正確さを適材適所で引き出せます。
抽象化と“知識の越境”
高いメタ認知は、異分野に共通する構造的パターンを見抜き、解法を転用します。例としてキャッシュ戦略と倉庫在庫管理は「限られた資源を需要予測下で再配置する」という構造が同じ。これを認識すれば他分野の手法をソフトウェア設計に応用できます。
メタ認知を鍛える4つの習慣
習慣 | 実践例 | 狙い |
---|---|---|
リフレクション | タスク後に「成功/改善点」を3行メモ | 思考の客観視 |
Think‑Aloud*1 | デバッグ中に思考を口頭化→録音 | 無意識のバイアス発見 |
失敗ジャーナル | バグ原因と再発防止策を記録 | パターン学習 |
メタ質問 | 「これは本質か? 他領域に同型か?」を自問 | 抽象化と越境学習 |
メタ認知が高まると、システム2の負荷を下げつつシステム1への安全な委譲が進み、学習速度と汎用的問題解決力が向上します。
これらはどう関係しているのか?
- システム1は繰り返しの訓練で育ち、負荷の高い思考をシステム2から肩代わりします
- システム2はシステム1で解決できないような複雑な問題に対してじっくり考えます
- ワーキングメモリは主にシステム2の「考える」プロセスの中心で密接に連動します
- メタ認知は思考全体を俯瞰し、「システム1の直感で進むかシステム2の熟考するか」を適宜判断します
思考を早く正確にしたいなら、「覚える力」(ワーキングメモリ)と「考える力」(システム2)を鍛え、日常的な単純思考や計算はパターン化してシステム1に委ねる──そして、この3要素を「うまく使う力」(メタ認知)で束ねるのが近道です。
初学者ができる実践方法
初心者でも無理なく取り組める、短時間かつ効果的なトレーニング例をまとめました。目的に合わせて少しずつ試してみてください。 これらは一朝一夕で身につくものではなく、繰り返しかつ日々の意識付けで変わっていきます。 これらを意識しつつ日々の業務の中で似たようなものにどんどん転用活用しながら訓練していくことでより熟達していくでしょう。
能力 | 訓練方法 | 目安時間 |
---|---|---|
ワーキングメモリ | Dual n-back*2、数字の逆順記憶 | 5〜10分/日 |
システム1 | 繰り返し練習、ショートカット習熟 | 毎回の復習で実践 |
システム2 | 論理問題、設計図の検討 | 週2〜3回15分程度 |
メタ認知 | リフレクション、失敗ジャーナル | 週1回まとめてでもOK |
おわりに
「エンジニアに必要な力」というとアルゴリズムや設計スキルばかり注目されがちですが、その土台となる「認知力」や「思考の使い方」は同じくらい重要です。
これらの能力を鍛えることはこれからのAI時代においても、より複雑な課題を解決するために、あるいは簡単な課題を一瞬で解決し、AIと共存しつつより創造的で価値的な課題解決のために重要なことだと思います。
自分の思考の動かし方を理解し、鍛えていくことで、技術的な成長も一段と加速するはずです。まずは「今、何を考えているか」に目を向けるところから、始めてみてください。