そこに川がある時、どこで川を渡るのが現実的か?
したいことを仕事にしたいとかいう言説があります。
したいことを仕事に出来るかというと、僕は無理だと思う。
みんな我慢しているか、したいことに気付いてないだけなのです。
僕のしたいこと
- 僕の望む時に、僕の望む良い音が出るひょうたんを叩き続けたい
- そのひょうたんから、僕の望む時に、僕の望む味のする飲料を飲むことが出来る
- 僕が飲料を飲むと、世界から10000の苦悩が減る
- 僕のいる場所は360度窓の民宿で、僕の望む時に、僕の望む風景が映る
- 僕の世話をするのは、奇麗なおかみさんと女中さんで、色恋なしのつきあいです
私は、この「ひょうたん」は理想的なプログラミング環境のようだと思いました。
- 僕の望む時に、僕の望むような良いコードを書けるワークステーションで仕事をしたい
- そのワークステーションから、僕の望む時に、僕の望む味のするライブラリを使うことが出来る
- 僕がコードを1行書くと、世界から10000のTODOリストが減る
- 僕のいる場所は360度窓でネットにつながっていて、僕の望む時に、僕の望むドキュメントが映る
- 僕は、素晴しいコミュニティの世話をしている奇麗なおかみさんと女中さんと、色恋なしのつきあいです
私は、80年代にCOBOLプログラマーだった時に、smalltalk-80というプログラミング環境を知って、何としてもこれを仕事にしたいと思いました。
それがいかに変てこりんな望みであったかは、その頃に同業者だった人にはわかると思います。そうでない人は、この「ひょうたん」を仕事にしたいと思うのに匹敵するくらいの奇天烈な望みであったと思ってください。
それで、当時の私には、自分の今いる場所からsmalltalkに辿りつく道は思いつきませんでしたが、smalltalkにつながっているかもしれない場所として、UNIXマシン上でのプログラミングということを発見しました。
当時のCOBOLプログラマにとっては、UNIXで仕事をするというのもかなり大それた望みです。でも、私にとってはsmalltalkで仕事をしないで終わるということはほとんど考えられなかったので、とにかくUNIXで仕事のできる会社に転職しようとしました。それで、その分野のメジャーであるDECとHPに応募して、両方落ちて、それから今の会社になんとか潜りこみました。
今考えると、DECとHPが正しくて、今の会社が間違っていたと思います。COBOLプログラマに、UNIXで仕事をさせるといういうのはかなりの冒険です。
それから、いろいろ紆余曲折はありましたが、大筋では、UNIX上のC言語→WindowsでのC++→LinuxでのRubyというふうなキャリアを辿り、気がついたら、Rubyでコードを書くことが仕事の一部になっています。
smalltalkは本で読んだだけなので、今のRubyがそれとどこまで近いのかはわかりませんが、私にとっては「ひょうたん」としての条件はほとんど満たしています。80年代のCOBOLプログラマーだった私の心底からしたかったことは、このようにしてほとんど私の仕事になりました。
- 僕の望む時に、僕の望む良いコードを書けるワークステーションで仕事をしたい→(全部は使いこなせてないけどemacs+もろもろのelでかなり実現可能)
- そのワークステーションから、僕の望む時に、僕の望む味のするライブラリを使うことが出来る→(rubygemsでほぼ実現)
- 僕がコードを1行書くと、世界から10000のTODOリストが減る→(これはまだこれから)
- 僕のいる場所は360度窓でネットにつながっていて、僕の望む時に、僕の望むドキュメントが映る→(Webでかなり実現)
- 僕は、素晴しいコミュニティの世話をしている奇麗なおかみさんと女中さんと、色恋なしのつきあいです→(色恋なしのつきあいが多少できてます)
これを完璧に実現するには、まだまだいくつかの条件がありますが、どれも私の手の届く所にあると思います。とりあえず、Rubyでコードを書いて金を稼ぐ時間は、これから私が増やしたいだけ増やせると思います。
この話のポイントは、出発点から連続している道を「現実的」と呼ぶか、目的地までつながっている道にジャンプすることを「現実的」と呼ぶか、ということです。
私と私の「ひょうたん」の間には、大きな川がありました。「ひょうたん」は川の向こう岸のはるか遠くにありました。
一般的な意味での「現実的」な方法とは、川のこちら岸を行くことです。COBOLプログラマから普通につながっているキャリアを辿ることです。しかし、私にとては、その方法は、「ひょうたん」に近づくことはできても、川幅がどんどん広がる道です。川を渡ることはどんどん難しくリスキーになります。こちら岸を歩いて行ける所まで行き、後から川を渡ることは、私にとっては、とても「非現実的」な方法に思えす。
私が「現実的」と言うのは、先に川を渡ってしまうことです。どうにかして、「ひょうたん」に連続的につながっている所に渡ってしまえば、その後は、普通にやっていても辿りつけます。C→C++→Rubyという道筋は、そんなに努力したりリスクを冒さなくても歩むことができました。
それと比較すると、COBOLからUNIX(C言語)というジャンプは、特に80年代には、かなり無理があることで、それは、DECとHPの判断から見ても、客観的な事実だと思います。
「したいことを仕事にするのは無理」という言説には二種類あると思います。
- 「川を渡る」こと自体を否定して、岸づたいに行ける範囲で自分の人生を設計するという考え方
- 今すぐに川を渡るのは難しい(危険)であるから、別のタイミングで渡る方が良いという考え方
後者は戦術論なのでケースバイケースで、出発点と目的地の間の地形によってはあり得ることだと思いますが、1のタイプの言説は「非現実的」だと私は考えます。
id:kotorikotorikoさんにとっての「ひょうたん」や私にとってのsmalltalkのような「したいこと」を、無視したままで人生を無事終えることはできないと思うからです。だから、そういうコースを歩んだ人は、結局、後になって川を渡ることになる。極端なケースでは、臨終の床での悔恨という形で、「川を渡る」ことになって、それを受けいれるという困難の方が何倍も大きいと思います。
だから、いかに困難であっても先に川を渡る方がずっと現実的です。
どうしても「したいこと」が仕事になると思えなかったら、id:kotorikotorikoさんのように、それをブログに書いてしまうというのも手です。
- 「ひょうたん」が誰かの心の中だけにある世界
- 「ひょうたん」がブログに書かれている世界
- 「ひょうたん」が仕事になっている世界
たぶん、2と3の間の距離は、1と2の間の距離より短い。
該当エントリのコメント欄を見ると、書いた人には予想できなかったことが起きているようです。
たぶん、このエントリがアップロードされた瞬間に、我々が住んでいるこの世界は、ひとつ川を渡ってしまったんだと思います。たぶん、ここから連続的な道筋で「ひょうたん」が仕事になっている世界が実現すると私は思います。
ただ、自分の中の「ひょうたん」を探しあてることは難しいですね。私は、smalltalkの他にも別の「ひょうたん」をかかえていたようで、そのことには40過ぎてから気がつきました。しかも、それをid:kotorikotorikoさんのように1つのエントリにきれいに書くことはできなくて、何年もの時間をかけて、何百ものエントリを書いて、まだ書ききれてない。