【シックス・アパートの勉強法】 “新しい技術を、必要なときに、必要なだけ吸収する”という考え方
シックス・アパートのエンジニアに、どんな勉強法を実践しているのか、コツとか心がけとかはあるのか?いろいろ訊いてみた第三回。
今回は、フロントエンドエンジニア山口の勉強スタイルをご紹介します。
「“勉強しよう!”と意識しないのが、僕の勉強スタイルです」
Q どんな勉強スタイル?
-
一般的に、「訓練して一流になるには、1万時間必要」っていわれています。「成功は「ランダム」にやってくる」の本の中では、それはテニスやチェスのように、明確な基準やルールがあって、それらがあまり変化しない分野に当てはまると指摘しています。
勉強について言えば、受験勉強はルールが大きくは変わっていません。どういうことかというと、「学ぶべき対象がはっきり」していて、「固定化されている」ということで、効率の良い勉強方法が存在するのです。
一方で、ルールが変わりやすい、変化に富んだ分野では、1万時間という単純な物量だけで成功は保証されません。Web系の開発の仕事は比較的ルールが変わりやすく、一つのツールの登場で開発のやり方が劇的に変わったりします。
フロントエンドで言うと、少し前まではjQueryやjQuery UIをベースにあとは自作みたいな感じだったものが、今ではUnderscore.js、Lodash、Backbone.js、RequireJS、AngularJS、Bootstrap...など土台を作るためのライブラリが多数登場していて、GruntやYeoman、Bowerなど開発を支援するツールもどんどん出てきています。それらをうまく使って開発スピードを上げていくことが大事になってきています。
そのあたりを踏まえて、Webの開発においては、単純な積み重ねだけではなく、“新しい技術に対して、必要なときに、必要なだけ吸収していく瞬発力”が大事です。変わらない基礎はあるけれど、ある程度基礎を積んだら、流動的な要素をいかに吸収していくかをメインに勉強するのが良いと考えています。
Q どうしてそんなふうに考えるようになったの?
-
伊藤穰一氏の提唱する、AI(After Internet)の時代に求められる9つの基本原則(The Principles of
AI)の中に、「Pull over Push」という考え方があって、個人的に参考にしています。
■Pull over Push とは?
AIの時代は、把握しなければならない範囲が広大で、状況も絶え間なく変化しているため、従来のように中央集権型で物事を管理するのは不可能です。従って、必要に応じて広大なネットワークからものや情報を引っ張り出してくるという、分散型のアプローチが重要になります。
引用元はこちら
フロントエンドの世界は5年くらいの間に大きく変化しています。そして今は情報が爆発的に増えています。定番と思っていた手法が、明日には古いやり方になってしまうかもしれません。そうした中で、常に完璧な状態を目指すのは難しいので、必要な情報を、必要なときに、必要なだけ取り込んでいく方法がマッチしていると思います。最新の情報はドキュメントが充実していない場合もあるので、作りながら考えるくらいで良いです。
一方で、基礎的な部分については、そこまで劇的な変化はありません。HTML5やCSS3、ECMAScript 5などは定着しつつありますが、ES6、Flexboxや、より先端的なWeb Componentsなどは、まだ時間がかかりそうです。
そうした変化の少ない基本的な部分に関しては、Push的に、できあがったカリキュラムのようなものを順に学ぶのもいいと思います。たとえば「CSS完全ガイド」や「Javascript defenitive guide」など定番本を参考にするのがいいですね。「Javascript Good Parts」などの内容は、JSHintを使う上での基礎知識として、今後とも必要とされる知識だと思います。最近読んだ本では「Testable Javascript」なども良書でした。
結局、Push と Pull どちらも大事ですが、Push的な勉強の方が勉強しやすく、意識しやすいように思うので、Pullの方を少し意識するくらいがちょうど良いと思っています。
Q 勉強は辛くない?
-
“勉強をしていると意識しないこと”が大事なんだと思います。
「哲学者が走る」という本があって、マラソンにチャレンジする哲学者が、徐々にジョギングが楽しくなっていく過程や、わきあがる思考について語っています。この中で、「道具的価値」と「内在的価値」という対照的な価値観のベースが出てくるのですが、道具的な価値とは「他の何かを得るための手段としての価値」のことです。健康のためとか、長生きのためとか、ジョギングにはそういった目的に対する有用性(道具的価値)があって、それは間違いありません。ただ、もしそれだけだとしたら、ジョギングは生き延びるためというか、生きるために命を費やしていることになります。それは、結局意味があるんだかないんだか良く分からない。でも、道具的価値はジョギングの一側面であって、ジョギングをすること自体に喜び(内在的価値)があります。
勉強についても同じことが言えます。TOEICで900点取れば昇給されるとか、資格を得ると手当がもらえるとかは、勉強の「道具的価値」です。勉強してスキルを身につけることは、安定した仕事につながるし、昇給のきっかけになります。安定した仕事は安定した給料、安定した生活を保証するでしょう。安定した生活は生きることを保証して、、と突き詰めていくと、勉強は最終的には死ぬまで生き延びるため、みたいに見えてきてしまいます。
でも、それは一側面に過ぎなくて、たぶん、勉強には行為そのものが楽しい面(内在的価値)もあるんです。勉強するときに意識しているのは、道具的価値しか意識しないと辛くなる点です。継続するためのモチベーションでは、どうしても意識が下がってしまいます。
だから、あえて寄り道をしてみたり、仕事と直接つながらないことを覚えてみたり、今やりたいと感じているからやる、みたいな、勉強自体を楽しむことも大事かと思うんです。僕は本を読むのと同じくらい集めるのが好きでして、仕事に関係する本も関係しない本もいろいろ買います。中には、読まない本もあったりします。完読していないけれど、新しい本を買うんです(笑)。
一見すると無駄遣いで、いや、一見しなくても無駄遣いなんですが、それが楽しいんです。一つの本に集中すべきかもしれませんが、それだと僕は続きません。そうした一連の行為の中に、本を読んで勉強するという行為が含まれています。いつの間にか、仕事のために学ぶ意識が遠くなって、結果として勉強をしていることになります。
Q 仕事と勉強がリンクしてるんですか?
-
夏目漱石の「私の個人主義」という本の中に「道楽と職業」という話があって、「職業とは何か?仕事とは何か?」という問いへの根本が書かれています。かいつまんで言うと、「仕事とは、自分の能力の中で秀でている部分を、他人の用に応じて、提供するということ」とのことです。たとえば、力持ちなら、重い荷物を運んでほしい人のために、代わりに荷物を運んであげる、みたいなかんじです。
力持ちでもないのに、重い荷物を運ぶような仕事についてしまうと、相当につらい。だから、秀でてるところを、仕事にできるのがいいわけです。好きなことを秀でるようにできれば、それを仕事にできます。そこに仕事と勉強の関連性があると思います。
他人の用を満たさない限り仕事とは呼べないので、いくら努力したって、仕事にはできないかもしれません。でも、頑張り次第でできるかもしれません。好きなことを他人の用を満たすことができるレベルまで伸ばし、最終的に仕事にできてしまうことが、理想だと思います。
逆に、仕事として始めたことの延長上に、勉強したいことが見つかるかもしれませんね。力持ちでないのに、重い荷物を運ぶようになってしまったけど、それを通じて、筋力をつけたくなったみたいなかんじでしょうか。結果オーライではありますが、他人の用を満たすところから、自分の好きなことを見いだせたら、それはそれでアリではないかと思います。
中山の感想
「勉強法、おせーてよ」くらいの軽いノリで話しかけてみたら、ものすごくディープでハードな回答が返ってきて、びっくりしました。勉強しようと意識していないにも関わらず、結果的に勉強できているのって、ある意味理想形じゃないでしょうか。もっと読書しようって、話を聞いていて思わされました。
<アーカイブ>
第1回:【シックス・アパートの勉強法】 電車内で立ったままプログラミングする仰天の方法第2回:【シックス・アパートの勉強法】 複数の書籍を読み込むときの、時短読書術
Six Apart をフォローしませんか?