103

なぜプログラミング学習を始めたのか

似たようなテーマで何度か書いているので、重複する話もあるかもしれないが、まだ書いていないこともあると感じたのでトライしてみたい。

おととし、2013年の5月に少し時間が出来て、ひとつの目安として、その時からプログラミング学習を(趣味として)本格的に始めた、と周りには言っているし、自分でもそれをある種の区切りとして考えている。

実際には、その少し前に「ドットインストール」の通信添削講座でJavaScriptを有料で学んでみたり(当時のドットインストールではまだ現在のようなプレミアム制度はなくて、その通信添削で課金システムを試したりしている感じだった。今はそれは無くなっている)、Rubyの入門書を買ってみたりと、だらだら触れてみてはいたけれど、やっぱりちゃんと習得したい、と思ったのはその頃だったのだと思う。

なぜそんなことをやってみる気になったのか? 仕事でもないのに? とは時々聞かれる質問で、様々な答え方をするけど、そのどれもが一応本音のつもりだ。

よく言うのは、「自分はいつもMacで仕事をしているから(メールなどの連絡業務もテキスト編集などの作業系も)、そうやって終日コンピュータで作業をしていると必然的にエンジニアの人たちの発言が目に入ってきて、そのエンジニア同士の会話などが(主にTwitterでの)すごく楽しそうだから、その仲間に少しでも入りたくて」みたいな話だ。

結論としては、それが一番のモチベーションというか、学習欲を突き動かす原動力であるとは思うのだけど、それがきっかけか? と言うと、ちょっとズレるかもしれない。

直接的なきっかけとしては、むしろ単なる新しモノ好きというか、いろんな新しいコトやモノにとりあえず触れてみたい、みたいな性向によるのかな、という気もして、たとえば生活を便利にするらしいツールやサービスがネット上で話題になると、とりあえず試してみる、みたいなことの延長で、流れ流れて自分でもプログラミングを、ということになったのでは、とも思う。

今はそうでもない気もするが、こんな新しいWebサービスが始まりましたよ〜、なんていうニュースを見たりすると、うわ、それをやったらどんな新しい、便利で快適な世界が待っているだろう? という期待が膨らんで、とりあえず試してみる、みたいなことがよくあった。

そういう、生活をより便利でより快適なものに作り変えていく、カスタマイズしていく、みたいな楽しみというのはエンジニアにかぎらず、一般の人にも少なからずあると思うし、自分はたぶんそれだった。

個人史としては、じつはケータイ(今で言うガラケー)を持ったのもパソコンに初めて触れたのも、同世代の中ではけっして早くはないはずで、むしろ美大の油絵学科という呆然としたところを卒業して呆然とアルバイトをして時間を過ごしていた頃には、そういう「新しい世界」への期待なんていうものは余りなかった気もするのだけど、2003年にフジロックで面白い人を見て(菊地さんだ)、2004年の秋にmixiに初めてログインして、ネットに触れる時間が増えてからその辺の感覚が顕在化してきたのかなという気もする。

今思うと、それまでというのは新たな情報は雑誌やラジオやTVを通してしか得ていなかった。近所の書店に通って、定期的に買う雑誌を読んでいた。
ユーザー同士で、それも離れた場所にいる、メディアの受け手同士で意見を交換するなんてこと自体、それまでには(僕や僕の周りでは)一切なかったのだ。考えてみたらものすごい変化だ。

今は以前のような現場(ライブ会場とか)もあれば、書店も本も雑誌もTVもラジオも残ったまま、それにネットが加わった。ネットのせいで他の取り分は減ったに違いないが、ユーザーとしては選択肢が潤沢になってありがたいかぎりだ。少なくとも以前のような状況に戻りたいとは思わない。これもまた不可逆な人類の進歩と言える。

果たして、パソコンに初めて触ったその頃、僕はどのような人生を歩みたいと思っていただろうか。大学を卒業してからパソコンを持つまでの数年の間に、フジロックサマソニWIREエレクトラグライドに行った。
世界の最新の音楽に触れたい、という感じだったのかもしれない。新しいものなんて関心ないよ、ということではなかっただろう。

ただ、ボーっとしていたから(今もだが)、そのために積極的に何かする、ということでも多分なかった。

パソコンを使って、それまで知らなかった人たちと簡単に連絡を取れるようになって、暇だったから文化的なイベントなどにも通い続けて、そうこうするうちに編集的な仕事もするようになって、もっと人生を楽しみたい、限られた時間をもっと効率的に使って、味わえるかぎりの楽しみを味わいたい、という風になってきたのかもしれない。

プログラミングをやるまでは行かなくても、ガジェットやライフハック的なことに興味を持っている非エンジニアはけっこういると思うのだけど、たぶんプログラミングを始める前の自分はそんな感じだったのではないか、と思いつつある。

いろんなタスクツールやブログツールを試して、身の回りの出来事をいろんな方法で記録したり、発信することに楽しみを感じていく。たぶん、そして、それでは満足できなかったということではないだろうか。

これは、外食をすることに喩えられるかもしれない。いろんなお店を少しずつ知って、あちこちの料理を食べて、同じ店にも通って、常連じゃないと出来ないようなツウな注文もするようになって、いろんな料理や、食べ方を楽しむんだけど、いつでもそれはすでに調理の終わった料理であって、素材から作る仕事は他人がやっている。

食べるのは楽しいし、まだ食べてない料理や知らない食べ方もたくさんあるけど、それを追求するよりも、自分で作ってみたい、みたいな感じ。

僕はガジェットを「使いこなす」ことにはあまり興味がなくて、なぜならそうした道具の使い方は、作り手の想像を上回るものには基本的になり得ないからだ。つまり、自由がない。

僕はどこへでも行ける、何でもできる、という自由が好きで、それを実現するために道具を求めるのであって、道具を使うこと自体は目的ではない。

そして僕の人生の目的は人生を楽しむことで、だからそれを実現するための道具として、ガジェットやWebサービスツールに触れ、やがてそれを通して得られる楽しみよりも、それを作る側の楽しみに触れたいと思ってプログラミングを「する側」に関心を持ったということかもしれない。

それは言い換えると、オモテ側に提供される「仕上がり」よりも、そのウラ側にある「仕組み」を知りたい、という欲求であるかもしれない。

仕組みを知ることが出来れば、「自分だけのために自分が好きな料理を好きなだけ料理して好きなだけ食べる」みたいなこともできそうだ。(体には悪そうだが)
仕組みを知ることが出来れば、好きなことを何度も再現させ、嫌なことはなるべく再現させないようにできるかもしれない。

体験する自由の幅を広げたいという欲求。以前はそれを、方法や道具の取捨選択を通してやろうとしていたけど、今はその道具自体を自分で作ることにより実現しようとしている、ということかもしれない。

その意味では、やっていることの方向性はプログラミングを始める前から同じようにも思われる。
ただそれは、パソコンに触れたときから加速したのだとも思える。

この文章は、初めはプログラミング関連のことを書いているブログに投稿しようと思ったけど、書いてみるとこちらの方が合っているように思ったので(私的な要素が多いというか)こちらに投稿する。