Blog.okuryu
高校入学と同時に初めてのパソコンを買い、インターネットを始めた。それから今までインターネットにのめり込み、今では Web 技術やプログラミングにまで興味を持つようになった。でも僕は3歳から水泳を始めて小学校では陸上、中学校ではバレーボールとインターネットに出会うまでは、スポーツ中心の生活を送っていた。
インターネットを始めてからスポーツからはめっきり離れてしまったけれど今でもテレビでスポーツを見たりするし、もしインターネットと出会っていなかったら今頃はスポーツ選手になっているか、もしくはそれを目指していると思うくらいスポーツは大好き。そんな自分がなぜインターネットから Web 技術やプログラミングに興味を持つようになったのか。プログラミングとスポーツ、一見この関係のなさそうな二つの言葉だけど、どうしてプログラミングが好きなんだろうとこの1ヶ月ほど考えていたら、もしかするとこの二つの行為には共通点があるんじゃないかなと思った。
まず一番分かりやすい点で、その行為にはルールがあること。どんなスポーツでもそれぞれルールがある。人と人が競い合うスポーツにはルールが不可欠だし、ルールがないとスポーツが成り立たない。プログラミングでも言語というものがルールになっていると思う。どんなプログラミングにしてもそのプログラミング言語というある種のルールがないとその行為に移ることができない。どちらの行為もルールがないと始められないけど、スポーツ選手にしてもプログラマにしてもそのルールの中で切磋琢磨していくんじゃないかなと。
スポーツ選手の目標といえばやっぱりその競技の試合で勝つことや記録を残していくこと。精神的にも肉体的にも自分自身と戦っていく中で、それが達成したときの達成感は味わった本人にしか分からないほど凄まじいものだと思う。そしてプログラマの人にプログラミングの何が好きかと聞くとどういう答えが返ってくるだろう。答えは様々かもしれないし、自分自身まだまだはっきりとした答えを持てていないけれど、例えば何かプログラムが完成してそれが動いたときの達成感みたいなものがひとつあるんじゃないかと思う。たぶんこれもスポーツのそれと同じように味わった本人にしか分からない感覚なんだと思う。そしてこの二つの達成感はとても似ているかもしれないということ。実際、僕はコードを書いていてそれが動いたときに鳥肌がたつくらいに気持ちが高ぶることもあって、それがスポーツでの興奮と同じように感じる気がする。
プログラマとして仕事をしながら経験を積んで、ゆくゆくは SE やディレクターみたいな肩書きになっていくのが一般的な技術者の道なのかな。プログラマは35歳定年と言われたりもしていることからも、次々と若い人材が投入されていくなか、居場所がなくなっていきどうしてもキャリアアップというものが求められるのもわかる。そしてスポーツの世界でもこれと同じようなことが起こるわけで、若い選手が次々と生まれてくるうえ、競技によって差はあるけれどどうしても体力的な限界にぶつかり、例えばサッカー選手の場合30歳そこらで現役を引退して解説者やコーチ、監督としての道を進む人も少なくない。でも、僕はできればそんなキャリアアップなんてしたくなくて、生涯現役のプログラマでありたいと思っているところもある。やっぱり今はコードを書くことが楽しいし、上にいけばいくほどコードを書けないようになるのは今の自分にとっては進みたくない道。下の下でもいいから現役でありたい。スポーツの世界で言えばサッカーで今もなお現役選手でもある三浦知良選手のような選手にすごく感動する。
こういったあたりから僕はこの二つの行為がとても似ているような気がする。でも、この二つの行為には大きく違うところがあって、それはその行為自体を第三者が見ることによって感動できるかできないかということ。スポーツの場合、テレビなどを通して見て多くの人に感動を与えられるけれど、プログラミングでは直接人を感動させることができない。この違いはとても大きい。それぞれの性質がそうなんだから別にこの違いがだめとかそういうわけではなくて、ただ共通点を考えていたらこの大きな違いが見つかっただけ。
というわけでこれはどこかに元ネタがあるわけでもなく全くのオリジナルな考えなんだけど、どこかに同じようなことを考えたことがあるプログラマの人とか技術者の人がいたら嬉しいな。ちなみにスポーツといっても様々なスポーツがあるのかもしれないけれど、ここでのスポーツは競技スポーツを前提に書いた。このブログを読んでいる人なんてたかがしれていると思うのでほとんど期待はできないけど。
そして気づいたらこれ書くのに二、三時間かかっていたのだった...。
書き忘れていたキャリアップの話を追加しました。
このエントリーのトラックバックURL:
http://www.okuryu.com/mt/mt-tb.cgi/151