Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

勉強の型を身に付けたい話

最近は、おもしろ技術について興味のおもむくまま手を動かしたりしていると詳しくなっている、というパターンが多い。一方で、コツコツ必要なことを学んで(応用の効く)体系的な知識を手に入れる、という行為にもあこがれがある。

例えば最近はScala.jsのビルドのためにViteを使った。ViteとはWebpackみたいなもので、ビルドパイプラインを構成してJavaScriptをバンドルするやつである。とここまで書いた文字列を見れば分かるように、基本的に自分はハッキーな、つまり自分に必要な箇所を、自分が利用するためにつまみ食いして読む、というような読み方をしがちである。なので自分はViteの使い方をまあまあ分かっているけれど、Webpackと比べると何が良いのか、といったことにあまりうまく答えられないだろう。

自分は昔から勉強机に向かうのが苦手で、興味のおもむくままに本を読んだりしていたし、そのせいで英語はめちゃ得意な一方数学で赤点を取ったりしていて、結局「勉強ってのはこうやるんだぞ」という概念を身に付けられていない。空手の型を身に付けて強くなっていったのではなく、路上でストリートファイトをすることによって強くなっていった、みたいな状態。しかしこのやり方にも限界があり、まず興味が無いと全く進捗しなくなるし、終わりが見えないのである。それに、要するに場当たり的に身に付けた知識の継ぎ接ぎでは、より高い職階やロールに対応できないことがわかっている。例えば最近はアーキテクト的な仕事をしたが、場当たりでは全く太刀打ちできず、コツコツドメインを理解していく、という感じのことをやっていくことになる。

そういう事情があって、「この技術について学びを深めよう」というとき、すぐれたエンジニアはどのように手や脳を動かしているのだろう、ということに興味が湧くようになった。すなわち勉強の作法、型である。昔なら、つよつよエンジニアになれない俺は…………という感じで焦りながらそういうテクニックを希求していたきらいがあるが、今は純粋に自分のスキルを強めたいという動機で、少し落ち着いた感じ。

小手先的な勉強のテクニックについて記された記事なら、いくらでも見付けることができる。その一方、すぐれたエンジニアが普段どのように勉強という振る舞いを実行しているのか、といったことに注目した記事は、まばらだ。このあたりの大家といえば、 id:shiba_yu36 のブログ*1だと思っている。良い記事が無限に出てくる。こうした記事を探して最近読んでいるところだ。

blog.shibayu36.org

いちばん大事なのは腰をどっしり落ち着けてのびのびと勉強することだと、心の底では分かっている*2。腰が浮いたことで中途半端になってしまった経験がたくさんあるからだ。自分は、以下のような理由で腰が浮きがちだと思う:

  • 飽きて他のことに興味が移ってしまう
  • 承認が得られなくて意欲を失ってしまう
  • すぐにキャッチアップしなければならないという焦り

まず、自分は飽きっぽい性格で、飽きずに続けられているのはApex LegendsとScalaぐらいという有様で、定期的に刺激がないとすぐに飽きてしまうらしい。

加えて、二つ目の点に目を向ける。自分は承認欲求駆動で何かを行っているフシがある。自分の中に確固たる動機(例えば、これを理解したい…………!といったもの)が無いままに手を出してしまい、思いのほか労力が必要だとわかると投げ出してしまう、というのが典型的な帰結である。本当は、みずから動機を持ち、計画し、自走して学んでいくが良いに違いない。しかし世は大承認欲求時代であり、よほどの意志の固さがなければ初志貫徹はむずかしい。

最後の焦りもよくある。特にウェブ開発において、さらにその中でもフロントエンド領域は激烈な開発競争と進歩が行われており、事前に十分な広さの「地図」を持っていないと追い付けない、といった趣がある。すると一発逆転を狙うようになり、小手先のテクニックを学ぶというバッドプラクティスに突入してしまう。こうなるとあまり投資としての魅力がない。

いったん承認だとか即戦力といった現金な動機を捨てて、素朴に勉強という行為が楽しい、という状態に持っていくほうが、結果としては強みになるのかもしれない。実際、自分はScalaとかActivityPubといった領域では純粋に楽しいから勉強しているという側面があるし、だからこそ長続きしている(それが大いに承認と収入に結び付いているかというと、微妙だが)。こうした「ただ深める行為」としての勉強は、おカネにもならないので、インターネットでは省みられることは少ないようだ。だが、この形態が最もサステナブルで、自分を支えるものであろうという希望も、今となっては十分に感じれられる。

自分はちょっと現金すぎるのかもしれない。どうして現金なのかというと、他人より遅れているな~という兆候をキャッチすると、とても悔しいからである。その現金さをいったん捨てて、純粋な知的楽しみとして勉強をやっていく忍耐力が必要だろう。例えば、現金な人間はViteのドキュメントをちゃんと全部読んだりはできない。今のところ、純粋な知的楽しみとして文章を(今こうして)書けているのだから、インプットのほうも頑張ればできるに違いない。

それはそうと適当な承認や刺激は必要だろうから、同好の士と情報交換をやったりするのが良いのだろうと思う。

一方で、何が何でも一週間でこのドメイン領域について詳しくならなければならない、といった、コンサルタント的な状況もあることと思う。これは先程までに述べたこととは隔絶した話題だが、そういうシチュエーションに遭遇することもあるはず。そういうときはどうすれば良いのだろう。いわゆるコンサルタント的な人々は、こうしたシチュエーションにとても強いというイメージがある(メタ的な話題だが、「こうしたコンサルタント的な人々はどのように高速に勉強行為を行うのか」という勉強も可能であるように思われる)。

まとめると……

  • 純粋に知的楽しみとして勉強するのがよい
  • 勉強という行為を勉強するのもまた楽しいはず

追記

同僚にこの本を紹介してもらった。しかし、この分野自体はエキサイティングな分野ではなくて眠くなってくるとのこと。

読んでみようと思う。

追記2

良い知見をもらえた。ありがとうございます。学習科学としてある程度体系化・研究されているらしい。知見をゲットしていきたい。

なるほどなぁ(掘り下げずに終わることが多いので)

*1:id:は敬称なので、敬称を略する。

*2:それだけが大事ではないけれど、たぶん一二を争うくらいには大事だろう

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?