http://d.hatena.ne.jp/tictac/20120110/p1 を読んで。本論とは少し外れちゃうんだけど
うまくやる学生はそういう困難にぶつかったとき、自分の力不足と馬鹿さ加減に滅入る気持ちと闘い、山のふもとで小さな歩みを始めます。彼らは、プライドに傷がつくことは、山頂からの景色を眺めるためであれば取るに足らないということを知っているのです。彼らは、自分が力不足であると分かっているので助けを求めます。
このくだりはわかるような気がする。
ソフトウェアの開発をやっていると、ときおり新しい言語とか、新しいプラットフォームにチャレンジしようということがある。iPhoneアプリを作りたい、とか、たまには毛色の違う言語を触ってみよう、とか。
なんやかんやでもう10年以上、プログラミングはしているので、そういう新しいものを学ぼうと思ったときに、自分の能力を過信してか、いきなりそこそこ質実剛健な本やドキュメントから知識を得ようとしたりする。そしていつも挫折しては失敗する。前提知識が欠けてるために頭に入ってこないとか、いきなり詳細な話に入りすぎて全体像を掴めずにめげる、とか。
そんなときに、巷のプログラマからはこけにされそうな「10日でわかるなんちゃら入門」とか、そういういかにも入門者向けの本とかを読んだりすると一気に視界が開けたりすることがある。でも、技術屋としてのプライドは傷つく。おれ、10年もやっててまだこんなレベルからじゃないと駄目なのか、みたいな。
でもそういう、つまんないプライドは捨てて、初歩の初歩から駆け上がるのが一番良かったりするってのをもう過去に何度も経験していて、そのたびに、自分は成長しているんだかしてないんだか良くわからんな、という気持ちになる。(そして、周りの経験を積んだエンジニアは、そういう初歩の初歩の本みたいなのを読んだりしているところは人には見せないのか、実際に読んでないのかは知らないけど、あんまりそういう姿は見ないのである。)
そんなわけで本棚には「よくわかるiPhoneアプリの教科書」みたいな意味もなくフルカラーできれいな装丁な本とかがあるけど、まあ、この本の類から始めて何冊か経由し、おかげで普通のiOSアプリを作れる程度には知識は身についた。
カーネルのソースコードを読むときには、猫でもわかるC言語、みたいな本を読むはめになったし、アセンブラがわからないときには、初めてのMASM、だっけな、そんな本を読んだ。検索エンジンの勉強をするのに線形代数の理解が必要だと知ったけど、大学レベルの数学なんて全然わからなくって最終的には、数学入門という新書を読むことになった。英語を使う必要が出て、結局一番役にたったのはネイティブなら子供のときに身につける英会話とかいう本だった。あと、忘れてしまった中学生の英語をなんちゃら、みたいな本も読んだ。これは、喫茶店とかで読むのが正直言って、恥ずかしかった。でも数時間で一通り学校で習った英語を思い出すことができて有意義な時間だった。物理学で大学院まで行ったのに、もうすっかり物理のことは忘れていて、・・・いや、忘れたんじゃないまともに勉強してなかっただけ。そのときも忘れてしまった高校の物理を思い出す本、みたいな本を必死で読んだのであった。
そういう過程から学んだのは、自分が何を分からないかということにはちゃんと向き合って正直になるべきであろうということと、それに対して、余計なプライドは捨てて、本当に簡単なところから手をつけるほうが結果的には、自分にとってはそれが近道だったりするという教訓だった。この、何を分からないということにはちゃんと向き合うというのは意外と大変で、時には、小学生とか中学生で習ったようなことすらちゃんと理解できてないとか忘れてしまっているという現実を直視させられることになる。でも、そんな分からない自分を、ごまかしてはいけない。それは先のエントリにもある通り能力の問題ではないのだし。
─ そんなことを、考えさせられるお話でした。
寿司ブログにして数時間後には、自分語りをしていることに気づき、愕然としている。