Dimension

この記事は約4分で読めます。

プログラミングにしても数学にしても勉強してて感じるのは、大事なのはやっぱりストーリーを構築する想像力だと思います。既存の技術を学ぶことには生みの苦しみはまったくありません。あるのは理解するために必要な好奇心と、学ぶための時間と、吸収消化するためのエネルギーなんだけども、それを使って何をするのかという目的が弱いと、学習もそれに比例するように弱くなります。

おもろいもん作るっていうのは、具体的じゃないとまったく効果がないです。なんでもいいから何か面白そうなもの作りたいとか、まったくもってフォーカスが甘々すぎて話になりません。

たとえばとあるプログラミング言語をマスターしたいのは、何か作りたいからマスターしたいわけで、マスターすること自体に目標を置いても、勝負にならないどころか同じ土俵にも立ってないんです。さらに言わせてもらえば既存のライブラリに便利なものがありますよーとか知ったところで、それホントに使っていいの? という視点を持てない人には、ちょっと可能性感じられません。

継ぎ接ぎだらけのシステムもええですけど、どこからどこまで内製するのかは、よーく考えないと。あ、企業勤めではあまり考えない人が多いですよね。それは当然です。仕様通りの機能が実現したらあとは保守部門に丸投げするような開発しかできていない人だらけでは、もう話にならんです。

ストーリーを構築する能力をどう使うか。それは、自分がそのスキルをどう活かすかを考えることとは全く違います。料理に例えれば、自分が何を作りたいかよりも、自分が何を作ることを求められているのかという点において、実際に自分の店や自分の顧客という狭い枠組みから飛び出して潜在需要までアクセスできる視野を持てるかどうかだということに尽きると思うんです。

その際に自分が担うべき役割をしっかりと自覚しておくことが大事。自分のジャンルを飛び越して何かしようったって、そりゃ無理があるんですよ。できるのはせいぜい新しいパラダイムを与えるくらいですけども、それだって意図的にやろうとして出来るものではない。だからこそ、視野は広く、技術は深くという両面性が求められるのだということが明るくなれば、自分が何をすべきかは自ずと導き出される。その道を外れてしまうような流れがもし現れたときには、自分に関係ないことならば観察するだけ。関係することであればもう、袂を分かつしかないわけです。

そういう経験が乏しいと、いつまでも苦しむことになります。体力や精神力でカバーできるようなことなら、ハイ頑張ってくださいね、僕は知らんけど、という塩対応も可能ですけれども、人間そうやって根性だけでカバーできない壮大なチャレンジに直面したときは、そりゃもうありとあらゆる手段を考えるしかなくなってしまうわけです。これがホントにワクワクするチャレンジだと僕は定義してます。正直、ちょっとした頭の良さだとか人より知識があるだとか人より根性があるだとかそういうレベルでクリアできるような課題はもう僕をワクワクさせてくれないんですよね。

冒頭に書いたストーリー構築力というのは、実は何かを始めるときのきっかけのエネルギー源にしかなりません。そっから先は純粋な知的好奇心がとても大事だと思います。

これはどうしてこうなってるんだろう? とか。
疑問の持ち方にバリエーションがあふれると、そこから先の分岐も豊富になる。
複数の課題を同時に持つためには、1次元や2次元の関数型で頭の中に突っ込んでいても、何も反応が起きません。もっと柔軟にするためには、「定義されているもの」と「定義されていないもの」という両極端な特殊状態だけで物事を思考することをやめて、その間に無限に広がる「どちらでもない状態」に意識を向けられるかどうかにかかっている。この思考を持てる人と持てない人がいる。関数をnewしていないからといってデータが存在しないことにはならないという極当たり前の事実を自分の思考パターンの枠組みを壊すために応用してみてください。伝わらない人には伝わらないけど。

学習というものの本質をきちんと見据えるためには、左脳だけ鍛えてても駄目。広がりと掘り下げのほかに、第3のベクトルがあることに着目して、さらにその先に第4以降のベクトルが見えてくる世界が想像できるようになったらもう、楽しくて仕方がなくなるから。

数式というものはそもそも、このようにして人間の思考という世界の中に広がるものを伝えるためのツールでしかないと思ってます。言語もそうですよ。

コメント