2018年の初頭、語学と数学の能力を上げようという目標を立てた。60歳で引退すると仮定した場合、僕の社会人人生の、ちょうど真ん中だったこともあって、人生に大きな方針を立てたかったのだ。年末になって振り返ると、自分が希望するよりは能力が上がらなかったなと、残念に思う。
それでも最近、英語面接にも少しは慣れてきたし、ほんの少しだけ、中国語で聞こえる音が増えてきたし、ベトナム語教室では発音がいいと褒められるので、進歩はしているようだ。ベトナム語の発音がいいといっても、あくまでも他の日本人と比べて、だが。
数学は、高校数学の微分積分を半分くらいしか復習できなかったものの、log x を微分すると 1/x になる、という程度は思い出せた。ちなみに、いまお世話になっている数学の教科書は、これだ。
初めから学べると評判の大学基礎数学微分積分キャンパス・ゼミ
https://www.amazon.co.jp/dp/4866150319/
書名も表紙も怪しいが、中身はいい。と思う。
陳腐化しないスキル
なぜ語学と数学なのか。それは、どちらも変化が少ないし、10年、20年という時間が経っても価値が低減しないからだ。物覚えが悪くても、ウサギとカメの物語のカメのごとく、一歩一歩前に進めばいい。数年後に振り返れば、もといた場所から、はるか高いところに登れているはずだ。
語学と数学を選んだのは単なる僕の趣味だが、1、2年の短期間で流行が移り変わらず、5年、10年という時間の流れの中で価値が減衰しにくく、積み上げが鍵となるものであればなんでもいい。
とはいえ、語学と数学ではメシが食えない。これらの分野で充分な生活費を稼ぐのは難しい。だから目の前の仕事をこなす即物的な能力も必要だ。どの分野、どの職種で働くにせよ、いますぐ役に立つスキルと、10年後、20年後にも役に立つスキルの両方をバランス良く積み上げていく必要がある。
即物スキルから長期スキルへの転化
Webエンジニアとして Rails でコードを書いている場合、モデルやビューのコードをきれいに書く能力は、いま報酬をもらって、生活をしていくには欠かせない。でもそれに充分に習熟したからといって、10年後も第一線のエンジニアとして活躍できる保証はない。10年後は Rails が廃れて仕事がないかもしれない。
10年後も生き残るためには、即物的なスキルを積み上げ型の長期スキルに一般化しなくてはならない。例えば Rails のモデルを作る能力を、データベース設計能力へと一般化する必要がある。この転化ができれば、フレームワークが入れ替わってもやっていける。
また、日常の業務では触れることの少ない、OS やネットワークなどの低レイヤの動きを学んだり、ソフトウェアエンジニアリングを学んで、自分の頭で考えて実践することも大事だ。僕がまだ新人だったとき、パーソナルソフトウェアプロセスという、実に地味で、恐ろしく手間暇のかかるソフトウェアエンジニアリング講座を社内で教えてくれていた上司がいた。彼には今でも感謝している。
パーソナルソフトウェアプロセス技法
https://www.amazon.co.jp/dp/4320029291/
これらの基礎力は、Webエンジニアの日常業務でわかりやすく役に立つことはあまりないものの、10年、20年経っても陳腐化しない。
未来への投資
僕はいま、即物的なスキルの習得にあまり時間を割いていない。過去の貯金があるから、何とかなっている。周りの優秀な若者たちにおびやかされながら、35歳くらいまでのスキル貯金で細々と食いつなぎ、時間を捻出し、陳腐化しない長期スキルに投資している。
この貯金がいつまで持つかはわからない。数年で言語、ライブラリ、フレームワークのトレンドが変わっていくIT業界で、あと20年も第一線で働けるのかはわからないが、今日よりもいい明日を目指して、手元の時間とお金を未来に向かって投げ続けている。