見出し画像

エンジニアには【アンラーニング】ではなく【ラーニングアニマル】精神がいる

テクノロジーの世界では日々新しい技術、用語が登場します。

エンジニアを仕事にするなら、そのキャッチアップを欠かせないのは確かです。

一方で、こんな極端な言説も結構な頻度で見聞きします。

新しい技術が出たら、古い技術は役立たない!

オールドタイプのエンジニアは知識をアンラーニングして(古い知識は捨てて)、新しい技術の仕様書を読みまくれ!!

・・・私はエンジニアとしての勉強をし始めてかれこれ十数年経ちますが、この主張に対しては「本当にそうか?」疑問に感じるようになりました。

エンジニアの仕事をするために古い知識を忘れることが必要だとは思えません。

むしろ新しい技術を使いこなすためには、新しい技術そのものを学ぶだけではなく、一定の古い技術の勉強も必要になってくるのではないか。

今回はそんな話です。

らせん状に進む世界

最近読んだこの本では、世の中でもテクノロジーの活用が盛んに行われているユニコーン企業の取り巻く環境が解説されています。

私はこの本の筆者が渡り歩いた企業群と近しい業界で働いるので、非常に共感しながら読めました。

本書の中で、特に重要だと思った指摘は世界はらせん状に運動しながら進むことです。

・ デジタルデバイスの普及 -> SNS 疲れ、デジタルデトックスによるデジタル離れ

・ 数年前の高騰したAI エンジニアの年収 -> 過度な期待が落ち着いたことによる給与相場の後退

・ 電話 -> テキストチャットツールへの移行 -> Zoomというテレビ電話への回帰

・ かつて人気メディアだったラジオ -> テレビの台頭で人気が低下 -> コロナ禍以降にポッドキャストなどとして復権

このように、短期的にはある方向へガッと進みながらも、しばらくすると揺り戻しのように元の方向へ戻っていくのです。
(ただし、完全に元のやり方に回帰するわけではなく、一定の変化を起こしている)

振り子のように軸の左右へ揺れながら前に進むような様子を本書では「世界はらせん状に進む」と指摘しています。


この指摘は社会の流れ全般に対してのことです。
が、私は純粋に技術的な例でも同じようにらせん状の運動が続いていると感じました。

特にテクノロジーの世界で繰り返されるワードは【集中】【分散】です。

テクノロジーの世界もらせん状に進む

例えば、昨今ニュースによく登場するWeb3.0。

定義自体に論争があるのですが、大雑把な傾向としてこのようなことが言われます。

Web2.0 --- 巨大なIT 企業が全てのデータを集中的に管理しコントロールしてきた。
Web3.0 --- ブロックチェーンなど、ユーザーのデータや所有権の管理を分散化するテクノロジーを活用する。

Web2.0の集中型システムによる弊害や限界を感じる昨今、Web3.0はWeb2.0を全ての面において越える素晴らしい思想のように聞こえるかもしれません。

が、実際にはそうではありません。

Web3.0の目玉である、ブロックチェーンなどの「デジタル資産を分散管理する技術」について、下記の解説が非常に興味深い指摘をされています。

言い換えると、機能要件(純粋なシステムの処理速度や管理の簡易さ)では旧来の中央集権型、つまりWeb2.0のほうが優れているのです。

ブロックチェーンの本質である非機能要件(例えば、特定の国家や企業に支配されたくない)を求めるユースケースにおいては革命的な変化が起きるかもしれません。
が、そうでない領域に対して「Web3.0の方が新しくてクールだから」的なスタンスで採用されたものは、ただただ不便でしかありません。早晩Web2.0的な集中型の実装に戻るでしょう。

このような

  • 分散型 VS 集中型のメリット、デメリット議論の存在

  • どちらか一方の技術が最先端のトレンドとして取り上げられる

  • 一方の技術適用が偏りすぎた弊害が発生し、反動で旧来型のテクノロジーが見直される

といった事象は、コンピューターのインフラやWebサイト・アプリ設計の最適なアーキテクチャ(設計)の歴史の中で非常によく見かけます。

古い技術に限界を感じる
-> 新しい技術に飛びついてみた
-> けど、やっぱりデメリットが大きかったので古い技術に戻る
-> 古い技術をあらためて改良する…

そうやって技術は発展してきたといっても過言ではありません。


だから新しい技術を学ばないといけないからと言って古い技術の知識をアンラーニングする必要は全くないのです。

むしろ、課題を解決するにあたって新しい技術と古い技術どちらが優れているのかを冷静に見極めて採用する技量が求められます


新人の若手エンジニアで古い技術のことをよく知らない場合は、遡ってわざわざ古い技術を学ぶ局面がしばしば発生します。

「古いもの=何でも役立たないもの」と思い込んで学びを拒否する若手エンジニアはどんな失敗を起こしうるか。

古い技術であれば一発で解決できるはずの問題を、無駄に新しい(しかし向いていない)技術で解決しようとして、余計な試行錯誤や労力を重ね、ついには失敗するのです。

アンラーニングではなくラーニングアニマル

もちろん、古い技術を知っているからと言って新しい技術を学ぶことを怠れば、それはそれでエンジニアとしてのキャリアに先はありません。

常に新しいことを学び続ける人のことを、Google ではラーニングアニマルと呼ぶそうです。


とびきり優秀な人でも、変化のジェットコースターを目の当たりにすると、もっと安全なメリーゴーランドを選ぼうとするケースはやまほどある。心臓が飛び出しそうな体験、つまり過酷な現実に直面するのを避けようとするのだ。

(略)

グーグルが採用したいのは、ジェットコースターを選ぶタイプ、つまり学習を続ける人々だ。彼ら ”ラーニング・アニマル” は大きな変化に立ち向かい、それを楽しむ力を持っている。

個人的にはエンジニアに必要なスキルとして、アンラーニングではなくこのラーニングアニマルという言葉の方が適切ではないかと思っています。


技術は必ずしも直線的に、過去を振り返らず一方向に進化するわけではありません。

上記で紹介したように、時には先祖返りかと思うほどの過去技術への揺り戻しを経験しながら螺旋状に進歩していきます。


学ぶ対象の技術が新しいものか古いものかに関わらず、必要であれば常に新しい知識を学んでいくラーニングアニマルの姿勢(≠アンラーニング)を意識していきたいですね。


最後まで読んで頂きありがとうございます! いただいたサポートは記事を書く際の資料となる書籍や、現地調査に使うお金に使わせて頂きますm(_ _)m