エンジニアはどう学んでいけばよいのか - つまりは「知ったかぶり」 の積み重ね

# はじめに

この記事では、**学んでいくためのマイルストーンとして「知ったかぶりができること」を設定するのもアリなのでは？** という提案をします。

初学者でなくても『どうやって学んでいこうかな～』は全エンジニアの関心事だと思うので誰かの行動のきっかけになれたらうれしいです。

# 目次
- [（エンジニア）人生は勉強や！](#エンジニア人生は勉強や)
- [「知ったかぶり」を再定義する](#知ったかぶりを再定義する)
- [「知ったかぶり」を可視化する](#知ったかぶりを可視化する)
- [無知の知はすぐに自覚できる](#無知の知はすぐに自覚できる)
- [どうすれば人に説明できるようになるのか](#どうすれば人に説明できるようになるのか)
- [いったんここまでのまとめ](#いったんここまでのまとめ)
- [脳内イメージの解像度をどう上げていくか](#脳内イメージの解像度をどう上げていくか)
- [アウトプット先を意識したインプットをしよう](#アウトプット先を意識したインプットをしよう)
- [" 知ったかbrilliant Journey of Engineers "](#-知ったかbrilliant-journey-of-engineers-)
- [さあ、なにを知ったかぶりしていこう？](#さあなにを知ったかぶりしていこう)
- [おわりに](#おわりに)


# （エンジニア）人生は勉強や！

技術は高速かつ複雑に成長しているので、新たな分野を学ばなきゃいけない機会はどんどん増えていく。また、そんな中で『どこまで勉強したらいいの？』[^エンジニアはどこまでシリーズ]という漠然とした不安も芽生える...。

https://qiita.com/e99h2121/items/a41339815d9aea87bdb4

目的や最終的なゴールがどうであれ、我々は学んでいかねばなりません。そこで、なにかを学んでいこうとするときの「**どう学んでいこう？まずはどこを目指そう？成長をどう振り返ろう？**」に対する回答を考えてみました。


[^エンジニアはどこまでシリーズ]:本記事は、「エンジニアはどこまで」シリーズをオマージュしたタイトルにしています！：[「エンジニアはどこまで」学びとキャリアの目次](https://qiita.com/e99h2121/items/50d51b05f110425115a5)
# 「知ったかぶり」を再定義する

一般的には悪い意味で使われがちな「知ったかぶり」ですが、実際に調べるとこんな感じ。

> 知らないことを知っているかのように見せかけて振舞うこと。[^知ったかぶり]

「知ったかぶり」でググると 知ったかぶり = よくない というイメージがありそうです。
なんなら心理を読み解いて対処法まで紹介してくれるものもありますね。

- [「しったかぶり」の正しい意味は？ しったかぶりする人の特徴や例文・類語・英語表現をご紹介](https://domani.shogakukan.co.jp/543206)
- [知ったかぶりする人の心理＆特徴｜知ってるアピールにイライラした時の対処法も解説！](https://smartlog.jp/149780)



そんな悪いイメージの「知ったかぶり」なのですが、これを別の角度から捉えなおしてみるとどうでしょう。

- 知らないことを知っているかのように → **無知の知を自覚している**
- 知っているかのように見せかけて振舞うこと → **人に説明ができる**

つまり「知ったかぶりができる」ということは **「無知の知を自覚した状態で人に説明ができること」** と言えそうです。

# 「知ったかぶり」を可視化する

ここでは「知ったかぶりができる」状態を自信と能力の２軸で表現しようと思います。

突然ですが、エンジニアネタに以下のようなものがあります。

Linuxの産みの親であるリーナス・トーバルズ氏が「ワタシハリナックスチョットデキル（*I can develop Linux a little.*）」のTシャツを着ている写真は有名ですね。[^LinusTorvalds]

https://x.com/ito_yusaku/status/1042604780718157824?s=20

また、心理学の分野では ダニング＝クルーガー効果 という仮説が存在します。これは、「能力の成長過程において未熟な人ほど自身を過大評価し、実際の実力よりも高いと認識してしまう認知バイアスが起こる」というものです。

https://ja.wikipedia.org/wiki/%E3%83%80%E3%83%8B%E3%83%B3%E3%82%B0%EF%BC%9D%E3%82%AF%E3%83%AB%E3%83%BC%E3%82%AC%E3%83%BC%E5%8A%B9%E6%9E%9C

さて、「知ったかぶりができる」状態を「エンジニアネタ」と「ダニング＝クルーガー効果」の2つの観点を使って表現すると、以下のような図で表現できそうです。[^知ったかbility図]

![Qiita用.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3388832/d284c00c-3dfc-02be-e46c-bb27b556d0fb.png)

図の " 知ったかbility " は「**知ったかぶりができる可能性**」を表す言葉です。「知ったかぶり」の定義から解釈すると、知ったかbilityは無知の知を自覚した瞬間に出現し、人に説明できる範囲が増えれば増えるほどに高まります。

また、知ったかぶりの定義と併せてこの図から主張したいのは、**学習と知ったかぶりの親和性**です。

- 学習においては**無知をメタ認知し**、興味関心に向かって学び続けていく（理解を深めていく）姿勢がやっぱり大切
- 「学んだことを理解しているか」は主観ではなく、「誰かに説明できるか？」などの**客観的視点によって**確かめるべき

そういう意味で、**未知の分野を学ぶ際や、既知の分野を学んでいく過程において「特定の何かを " 知ったかぶり " できる」状態をマイルストーンとして設定するのは直観的にイメージしやすいし、自身の理解度を客観視する意味でも建設的だし、理にかなっているのでは？** と仮説が立つわけです。

そして、この知ったかbilityを高める営み（知ったかぶれる範囲の拡大）こそが、きっとつよつよエンジニアへの道なのでは？とも思います。実際、私の現マネージャーはいわゆるつよつよエンジニアで、「何でも知ってるなこの人...」とちょっと引いているのですが、『**おれは知ったかぶりめっちゃするし、めっちゃうまいよ、ははは**』とこのまえ言ってました。まじか。

[^知ったかぶり]:引用元 > [Weblio辞書：知ったかぶり](https://www.weblio.jp/content/%E7%9F%A5%E3%81%A3%E3%81%9F%E3%81%8B%E3%81%B6%E3%82%8A)
[^LinusTorvalds]:参考：[「ワタシハ リナックス チョットデキル」Tシャツを着るリーナス・トーバルズ](https://x.com/shigetaka256/status/469062321176727552?s=20)
[^知ったかbility図]:※ 画像のタイトルで「ぽい」と言っているのはよく見かけるダニング＝クルーガーの効果曲線の出展が明らかでないからです...

# 無知の知はすぐに自覚できる

「知ったかぶり」の要素の１つである「無知の自覚」については、エンジニアであるならば日々実感しているはず、という話をします。

図の中に記載はしていませんが、学び始めてすぐに訪れる自信のピークを「馬鹿の山」、そこから無知を自覚して自信を失う状態を「絶望の谷」と言ったりするみたいです（一般的には）

圧倒的自信から絶望への落下というのは、普段の業務や生活の中からはイメージしにくいと思います。しかし現実、エンジニアのみなさんならこれを短いスパンで小さく実践しているのではないでしょうか。

めちゃくちゃ小さくて身近なもので例えるなら、

- わかりやすい入門書や記事などを熟読して「完全に理解した」後、実際に手を動かそうとすると全然手が動かない
- 何かに詰まったとき、先輩に教えてもらって解決方法を「完全に理解した」後、実際に手を動かしてみると「あれ、どうだったっけ？」となる

これらは、小さく自信つけて浅めの谷に落ちてる分かりやすい例じゃないでしょうか。谷が浅すぎて日常茶飯事。谷に落ちていることにすら気が付かない。これです、これ。これがすごく大事。

結論何が言いたいのかというと、手を動かしていればたくさん失敗する（未知の分野ならなおさら）ので、**自信だけが大きくなりすぎないように手を動かす意識を忘れないようにしましょう** という話でした。

※ ダニング=クルーガー効果が示している仮説（ある分野の知識が不十分だと、自分の知識がどれほどのものなのかを評価することすらままならなくなる）は、エンジニアにおいてあんまり当てはまらなそうな気がしています。

次は、「どうやって人に説明できる状態をつくるか？」に焦点をあてて話を展開していきます。


# どうすれば人に説明できるようになるのか

「知ったかぶり」の要素の２つ目である「人に説明ができる」はどういう状態なのか？については [世界一流エンジニアの思考法](https://www.amazon.co.jp/%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%80%9D%E8%80%83%E6%B3%95-%E6%96%87%E6%98%A5e-book-%E7%89%9B%E5%B0%BE-%E5%89%9B-ebook/dp/B0CKSZV5DQ/ref=sr_1_1?crid=INAA9WVFT0O6&keywords=%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%80%9D%E8%80%83%E6%B3%95&qid=1706342758&sprefix=%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%2Caps%2C179&sr=8-1) から学びましょう。

以下の引用は「生産性を上げる」という文脈で、確度の高い仮説を構築するにはまず理解に時間をかけるべきである、という内容ですが、これは「どう学んでいくか？」の文脈とバッチリ重なります。

> そもそも学習における「理解」とはなんだろう。様々なレイヤーがあるが、私の考える ＜理解の３要素＞ とは次のようなものだ。
> - その構造をつかんで、人に説明できること。
> - いつでもどこでも即座に取り出して使えること。
> - 知見を踏まえて応用がきくこと。

この３つは同じレイヤーに位置するかと思いきやそんなことはないと思っています。なぜなら、**「いつでもどこでも即座に取り出して使える」からこそ、「その構造をつかんで、人に説明できる」し、「知見を踏まえて応用がきく」** からです。

なので「いつでもどこでも即座に取り出して使えること」をまずは目指すべきなのですが、これについては本書の中で「メンタルモデルの構築（＋システム思考）」によって達成できると紹介されています。**メンタルモデルの構築とはつまり、脳内イメージ**ですね。

学ぶ対象が何であれ、まずは対象に関する情報を理解・整理し、それを言葉やイメージとして表現する必要があります。言葉の意味・定義や対象Aと対象Bの因果関係など、自分なりの言葉で表現し、脳内イメージを構築する。この脳内イメージの解像度が上がれば上がるほど、シンプルかつ詳細に人に説明ができるようになります。

知ったかぶりの本質はここで、「**脳内イメージを描くことである程度の説明はできるが、イメージの細部はぼんやりしている**」という状態です。「細かいとこはあんま分かってないんだよな~」と無知の知を自覚した状態で、「あ~これはこういう感じでこうなってて...」と人に説明ができる。関西風に言えば、テンポよく話を続けた後にぼそっと付け足す『知らんけど』です。

それゆえ、「**人に説明ができる = 脳内にイメージが描ける**」と結論付けることができそうです。


# いったんここまでのまとめ

さて、ここまでで以下を説明してきました。

- **知ったかぶりができるとは、無知の知を自覚した状態で人に説明ができること**
  - 無知の知を自覚することは、手を動かして早く小さく失敗することですぐ自認できる
  - 人に説明ができるとは、対象に関して脳内イメージの形成ができていることが前提
- **" 知ったかbility " とは、知ったかぶれる可能性**
  - 知ったかぶれる範囲を広げていくことで、知ったかbilityは高まる
  - 脳内イメージの解像度と知ったかbilityは直結する

こういう観点から、初学者についてはどんな小さなことでも「知ったかぶりができる」状態を第１目標としてもいいと思います。おすすめは最も大きな単位から理解していくことです。（ソフトウェアのアーキテクチャや特定の技術に関する体系的な理解、など）また、初学者卒業後は脳内イメージの解像度を高めることに注力することで効率的に学習を進めることができると思います。

大切なのは、学んでいく過程で「ここはどうなってるの？」と興味のままに学習し、「知ったかぶり」できる範囲を広げていくこと。そんな感じで小さな知ったかぶりを繰り返せば、そのうち細部の解像度が上がっていき、特定の分野について全体と細部を理解できるようになっていくはずです。


# 脳内イメージの解像度をどう上げていくか

ここからは " 知ったかbility " を高めるため、脳内イメージの解像度をどう上げていくかの話をします。

結論、**全体と細部の反復横跳び** が大事だと思っています。


ちょっと隙があるので自分語りします。

> 私には、保守していた複数の機能群について、それぞれの知識がうまく整理できずずっとモヤモヤしていた時期がありました。当然、機能の担当者として努力はしていましたが気持ちとしては停滞しているようなどんよりとした気持ちが続いていました。あるときふと全体のイメージと各機能の依存関係や役割を図示してみたらまさに青天の霹靂、今まで頭のいろいろな部分に散らばっていた知識がギュッと整理されたような感覚になったことを覚えています。
> 
> その後は起きた事象に対して、「この事象は大きい枠組みの中のこの辺の話で、原因としてはこれとこれが考えられそうだ。でもこういう理由で仮説としてはこっちの方が確度高そうだな」というように全体と細部という２つの視点で物事が捉えられるようになり、明らかに機能群に対する解像度も仕事の効率も上がりました。（隙あらば自分語り、完）

そういう理由で、全体と細部、抽象と具体をうまく行ったり来たりすることが解像度を上げる一番の近道なのでは、と思ってます。（以下の投稿はたまたま見つけて「これだー！！！！」となったときのやつです。100いいね押しました。）

https://x.com/sugimoto_kei/status/1747798976085348560?s=20

で、その「全体と細部の往復」をどうやっていくか？なのですが、この「全体と細部」の軸に「インプットとアウトプット」の軸を追加すると考えやすい気がしています。理由は大きく２つで、

- 理解を深めるにはインプットが必要で、理解を客観的に確かめるためにはアウトプットが必要だから
- 理解をアップデートしながら仕事に活かしていくためにはインプット（学習）とアウトプット（経験）のバランスが大事だから[^仮説の引き出し]

> 「経験から得られる知識」は、日々の業務をこなす中で蓄積されていくものです。頭に最も深く刻まれる知識である一方で、自らが経験できることでしか得られないので、幅と深さが限定されたり、全体感が持てないという欠点があります。
> それを補うのが、ビジネスを体系的に学ぶことで培われる「学習から得られる知識」です。

脳内イメージの解像度を上げるための観点を「全体-細部」「インプット-アウトプット」の２軸で分けたのが以下の『知ったかぶり４象限』です。各象限の中身は、ただ私が実践しているというだけなので、適宜、ご自身の環境やスタイルに合わせて考えてみてください。

| 知ったかぶり４象限 | 全体（より抽象） | 細部（より具体） |
| :--: | :--: | :--: |
| **インプット** | 書籍・記事・Udemy<br>技術コミュニティやイベント | 詰まったら都度 |
| **アウトプット** | 記事投稿・勉強会での発表<br>コミュニティ活動 | お仕事の中でたくさん |

で、この観点に沿ってどう実践していくか？の例が以下です。

| 順番 | 知ったかbilityを高める行動 | 象限 |
| :--: | :--: | :--: |
| 1 | 作業中に詰まったので調べる / 無知の自覚 | in * 細部 |
| 2 | 手を動かして解消し、成果になる / 認識のアップデート | out * 細部 |
| 3 | より範囲を広げて体系的な学びを得る / 脳内イメージの再構築 | in * 全体 |
| 4 | 記事や社内資料にまとめて投稿（発表）する / 客観的な確認 | out * 全体 |
| 5 | 上記 1 ~ 4 を繰り返す × ∞ | - |

私の場合、自身の興味関心（インプット対象）と仕事が結びついているので、アウトプットの行動が業務内容にかなり依存しています。ですが業務外の内容だとしても、上記の学びのサイクルは当たり前のフローかと思うので、だれにでも適用できるものだと思っています。

そうだね、アクティブラーニングだね。

https://soepysoechang-af.hatenablog.jp/entry/2021/11/24/095339

[^仮説の引き出し]:参考： [仮説思考を鍛える3つの方法。仕事の効率化と質向上を目指そう](https://mba.globis.ac.jp/careernote/1008.html#link6)

# アウトプット先を意識したインプットをしよう

この記事の根幹を揺るがす発言なのですが、正直な話、知ったかぶりはある程度知識があればできてしまうんですよね。しかし『インプット過多』、これは知ったかぶりアンチパターンです。

一般的な「知ったかぶりへの嫌悪感」は、嘘を教えられたことによる信頼の失墜や、理解の浅さが露呈している他人への嫌悪ですよね。（もちろん人間性の問題もありそうだが）これは無知の知を自覚できない状態で自信だけが大きくなることに起因します。（まさにダニング=クルーガー効果）

https://x.com/ka2aki86/status/1758668254963499322?s=46&t=k5ELJEbSMbNwb3eOg6bpag

なので知ったかぶりアンチパターンに陥らないようにするためには、みなさんご存じの通り、結局インプットとアウトプットのバランスがとても大事なのです。

ここで知ったかbilityを高めるために提案したいのは、「**アウトプット先を意識したインプット**」です。より具体的に言うなら「喫緊の課題に基づく課題解消のためのインプット」です。

例えば、業務で使う周辺知識が足りなさ過ぎて話についていけないとか、この辺の技術への理解が乏しいせいで仕事にならないとか、逆にこの辺の知識を付けたらこういうことができるかも！みたいなのもアクションを起こすための課題解消の行動です。

今までに、『先輩がおすすめしてたしとりあえず...。』とか『なんか流行っているし...』とか、「いつか役に立つだろうし」というなんとなくなインプットをした経験はないでしょうか？その過去のインプットは、例えば「ウガンダの首都は...」というような**有用性の低い記憶のまま眠っている**のではないでしょうか。（ウガンダの首都情報めっちゃ使えてたらすみません）

脳死のインプットは、有用な知識にはならず、ただの「記憶」として眠る可能性が高くなる気がしています。（ただの記憶に意味がないのか？に関する答えとしては「ある時はある」になるのですが）そんなこんなで、知ったかbilityを高めるには？という文脈においては、有用な知識として構成されやすいインプット、つまり**すぐにアウトプットを出すための実用的なインプット**を心がけることを提案します。

# " 知ったかbrilliant Journey of Engineers "

**バランスのいいインプットとアウトプットによって知ったかbilityが向上していく過程で、知識は身体化され、生産性も上がっていきます**。脳内イメージの解像度が上がって、それらを適切に使いこなせる範囲が拡大するからです。

> 「いつでもどこでも即座に取り出して使える」からこそ、「その構造をつかんで、人に説明できる」し、「知見を踏まえて応用がきく」わけです。

私のマネージャーからおすすめされた書籍 「[私たちはどう学んでいるのか ――創発から見る認知の変化](https://www.amazon.co.jp/%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AF%E3%81%A9%E3%81%86%E5%AD%A6%E3%82%93%E3%81%A7%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B-%E2%80%95%E2%80%95%E5%89%B5%E7%99%BA%E3%81%8B%E3%82%89%E8%A6%8B%E3%82%8B%E8%AA%8D%E7%9F%A5%E3%81%AE%E5%A4%89%E5%8C%96-%E3%81%A1%E3%81%8F%E3%81%BE%E3%83%97%E3%83%AA%E3%83%9E%E3%83%BC%E6%96%B0%E6%9B%B8-%E9%88%B4%E6%9C%A8%E5%AE%8F%E6%98%AD-ebook/dp/B0B3XD5HJB/ref=sr_1_1?adgrpid=140603340191&gclid=CjwKCAiA8NKtBhBtEiwAq5aX2PpwfYq2GUHiL0d3eqtHt4CNQoGxPlv5N_02ziJFUls2kFODrJ1l8BoCCsYQAvD_BwE&hvadid=651371047871&hvdev=c&hvlocphy=9053268&hvnetw=g&hvqmt=e&hvrand=11668799802942446086&hvtargid=kwd-1677009589361&hydadcr=22226_13457292&jp-ad-ap=0&keywords=%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AF%E3%81%A9%E3%81%86%E5%AD%A6%E3%82%93%E3%81%A7%E3%81%84%E3%82%8B+%E3%81%AE%E3%81%8B&qid=1706342722&sr=8-1) 」の中では、「知識は構築される」と表現されています。

簡単にまとめると、「**本や学びの場などから得た記憶や情報は、身体を介した複数の認知的リソース（見る、触る、聞く、書くといった経験）を使うことで知識として構築される**」というものです（稚拙なまとめで恐縮です...）

> 伝えられた事柄、本で読んだ事柄がどのような範囲をカバーするのか、それは他の知識とどう関係するのか、そしてどこで使われるのか、そうしたことを考える作業を行わない限り、その事柄は単に記憶としてしか存在せず、知識とはならないのだ。
> 
> （略）
> 
> 相手からの情報、その記憶が知識となるためには、それらの素材を用いて知識として構成していかなければならないのだ。構成するのはもちろんあなただ。
> 
> （略）
> 
> 難しい言葉で言えば、知識というものは「属人的」なものなのだ。

この文脈からも、インプットした情報、学んだ事柄を自分のものにしていく（学習し、成長していく）ためには「知ったかぶり」を意識することはやっぱり理にかなっていると思うわけです。

なぜなら（繰り返しにはなりますが）知ったかぶり、つまり誰かに説明するためには、**体系的に整理された脳内イメージが必要で、脳内イメージの構築のためには元になる素材（インプット）と、それら素材と素材をつなげる作業（無知の知を自覚するまでの経験）が必要だから**です。（※ インプットだけで脳内イメージが構築できる場合は、すでに十分な経験や関連した知識が備わっているからにほかならない）

まとめると、**知ったかぶりができる状態は知識を構築（身体化）した結果であり、知ったかbilityを高めていく営みは既知、未知、どの分野でもどのレベルでもあなたを高みへと導くマイルストーンになる**と思うのです（タイトル回収）。加えて、エンジニアは知ったかぶりできる範囲を広げていくように学んでいけばいいのでは？という話でした。

# さあ、なにを知ったかぶりしていこう？

『今の仕事に活きる領域？』『興味がある分野？』『[Developer Roadmaps](https://roadmap.sh/roadmaps)？』どれにしよう？

自分は今は [DevOps Roadmap](https://roadmap.sh/devops) に沿って、『次はこの辺知ったかしてみるか~』と思いながら知ったかbility高めているよ！！

ワクワクしてきたね！！！！


# おわりに

今年からCI/CD Grp.に異動し、無知すぎてほぼ何も分かっていない状態なのですが、現マネージャーから『知ったかぶりしていったらいいよ』と助言をいただき、その意図を拡大解釈した内容がこの記事になります。（解釈が合っているかは不明）

また、分からないことだらけですが「知ったかぶりしていこう！」「知ったかbility高めていこう！」という気持ちで楽しくやっているので、それを共有したいなと思ったのが今回の動機になります。（知ったかぶりでいいと思えたら学習のハードル下がるし）

覚えること多すぎるしちゃんと知識や経験を積み上げられているのか不安になる毎日ですが、いろんな学習を通して知ったかbility高めていきましょう。知ったかbility高めるtipsあれば共有してください。

以上、ここまで読んでいただきありがとうございました。