モノづくりって本当はずっと楽しいものなんだ
「エンターテイメントの延長線上にプログラミングがあればいいのに」という話を、します。
エッセイみたいな感じですね。
オイラはもともと「ゲームクリエイタ」になりたかった。
中学生頃に出会ったゲーム「クロノクロス」にとても感動し、そこから「オイラもこんなゲームを作りたい」「ゲーム体験を通じてさまざまなことを伝えたい」といったことを夢見るようになりました。
今、オイラはエンジニアの端くれとして、Webサービスを中心に開発を行っています。あの頃の夢と近からず遠からず、といったところでしょう。「何かを伝えるようなモノづくり」はまだできていないですが、「モノづくり」の舞台には立っている、という感じですね。
今でもあの頃の思いは消えていません。「何かを伝えたい」「そのために良いモノを作りたい」というのがオイラのクリエイタとしての原点であり、目指す道であり続けています。
さて。
そんなオイラも実は「ゲームクリエイタ」としての道は一度諦めています。理由は簡単、「つらそうだったから」。
何かの雑誌で見たのだと思うのですが、当時「ゲームクリエイタ」といえば、超長時間労働の代表格でした。毎日パソコンの前でプログラミングをし、時には何日も家に帰らず仕事を続ける。。そんな仕事環境が当たり前であり、美学とされるような世界でした。
(余談ですが、Steamの開発運営会社として名を馳せている時代を代表するゲーム開発会社「Valve Corporation」は、「過労は致命的なミスにつながる」「もっとも困難な仕事は開発ではなく仕事と私生活のバランスを取ること」と明確に宣言しています。)
オイラは「のんびり暮らす人生」も夢の一つなので、「長時間労働」は排除しなければいけない要素だったのです。(まあ、その何年も後にオイラは過労をやらかして病むのですけどね。。)
そんなオイラは「ゲーム作りは趣味でできる範囲で遊ぼう」と思って高校時代、大学時代、なんだかんだプログラミングと触れていました。大学ではデザインも学んでいたため、気づけば「モノづくり」をするスキルセットは充実してきました。そのおかげもあって、今でもWebエンジニアだったりiOSアプリエンジニアだったりで生きています。
そんなプログラマ・エンジニアとしての生活をしています。そんなオイラが最近思うのは、「どこかのタイミングで、プログラマやエンジニアになる過程が苦行となる世の中になったなあ」ということです。
例えば「ギターを弾きたい」と思う人がギターを弾きはじめるのって、楽しいんですよ。コードの押さえ方とかをググって調べて、その通りに指を抑えてみて、音が鳴る。ジャーン。「おお、やった!」っていう。
そのあとは「好きな曲名 ギター 弾き方」でググって、出てきた情報の通りに鳴らしてみる。するとちゃんとその曲になる。途中で指の移動が難しいところとか出てくるので、上手くいくまで何度もやってみる。そのうち指が痛くなって、「今日はここまでかー」となる。
その過程は全部「楽しい」なんですよ。難しいところもあるけれどそれも含めて楽しい。別にギターじゃなくてピアノとかもそうだし、絵を描くのとかもそうですよ。ある一定のレベルまでは「楽しい」が続く。
そして昔はパソコンを使ったモノづくりもそうでした。
オイラが一番最初にWebサイトを作った時は、まず「ホームページ 作り方」でYahoo!検索して、出てきたHtmlをとりあえずコピペしてみる。するとそのとおりのサイトが出てくる。次に、テキスト部分を書き換えてみる。するとWebサイトも切り替わる。「おお、やった!」っていう。
あるいは無料格闘ゲームをいじった時もそうでした。用意されているテンプレートキャラクターがいるので、そのキャラクターの動きをソースコード上でいじってみる。「この数字がダメージかな、一桁あげてみよう」とか「これが動きの速さかな?めっちゃ速い技にしてみよう」とか。そしてゲームを立ち上げると、一撃死の技や目にも留まらぬ速さの技に変わっている。「おお、やった!」っていう。
これも全部「楽しい」なんですよ。時には英語を解読したりいろんなことを調べたりしているんですけど、そーいう過程のひとつひとつが、まるでゲームのようだったのです。
ところが今は、「良いプログラマ・ITエンジニアになるにはこーいう手順を踏まないといけない」とか「こーいうことを知っておくべきだ」とか、そーいうものが世の中に蔓延っており、あんなに楽しかった「プログラマへの道」が、修行や苦行のようになってしまっている気がします。
サッカー選手でありエンジェル投資家でもある本田圭佑さんも、エンジニアの大変さを知るために一回テックキャンプというプログラミングスクールで学んでみたそうですが、「面白かったですか?」と聞かれた時に「わからないけど、大変」と言っていました。
プログラミングを学んで、率直に教えてください。面白かったですか?
(中略)
「大変だな、と思いました。……僕はうそをつくのがあまり好きではないので……。面白いか面白くないかというのは、なかなか分かっていない段階なので、そのレベルまでまだ行っていない」(本田)
本田さんは「まだレベルが低いから楽しめなかった」というのですが、プログラミングってレベルが低くても楽しめるのですよ。
少なくともオイラはそうだったし、オイラの周りにいる人だってそうだった人が多いし、世界に名だたるエンジニアにもそう言っている人はたくさんいます。「最初は大したものは作っていなかったが楽しかった」と。
でも、いつからか「プログラマやエンジニアはかくあるべき」という、礼儀正しいエンジニアが幅を利かせてしまい、それが本来楽しいものだった「プログラマへの道」に影を落としているように思うのです。
大量のプログラミングスクールやプログラミング学習サービスなどをみると、そのほとんどが「これは知っておくべきだから」とかいうことを押し付けていて、なんだか悲しいなあ、と思います。
まぁでも、そーいうのを用意して教えるのって金を取る上では楽なのですよ。よくあるマーケティング講座とかとおなじです。専門用語とかそれっぽいケーススタディとかをやらせるほうが、目に見える成果に落としやすいですし、「学校」「講座」という体裁をとりやすいですからね。
ただ、どっちかというと、「モノづくりって楽しいんだ」という体験を原体験にしたほうが、プログラマ・エンジニアとしては幸せだと思うし、これからも生き延びやすいと思うのですがね。知識ではなくエンジンを作るほうがいいと思うのです。