天然パーマです。

Webアプリエンジニアな理由

株式会社ワディット代表取締役、かつ、オモロキ最高技術責任者つまりCTOという肩書をもち、先日はTechCrunch Tokyo 2014の「CTO Night」なるイベントでも登壇させていただきました。そんな僕ですが、最近では薄毛傾向が気になりながらも、シコシコと細かいWebアプリのコードを書き続けています。昨日というかさっきまでもサービス内のキャンペーンのためにフォトショップファイルを元に画像の切り出しから、HTMLコーディング、動的部分のプログラム諸々を「ちょっとキツめのスケジュール」に軽く焦りつつ実装してました。

さて、一瞬立ち止まり。なぜ、僕はこうして「Webアプリエンジニア」なことを楽しみつつ生業としているのか?を考えてみます。そのことで自分の中でより自覚を持ち、また、他の種類の仕事をする際にも役に立つし、何よりも誰かがこの記事を見て、Webアプリエンジニアに興味を持ってもらえれば幸い。本記事はWebアプリエンジニア養成読本 Advent Calendar 2014の3日目の文章なんだしね。

当然のことが書かれているかもしれないけど、そこは目をつむってもらって… では行ってみよー!

1. ノーリスクかつローコスト

Webアプリケーションを立ち上げるのにリスクは無い。ん?サーバー代が必要だって?いやいや、今やあなたのOSXやPC内で立ち上げたVM上で動かすことはいくらでも出来る。それでは「グローバルからアクセス出来ないじゃん!」というツッコミには「うん、その通り」と答えるしか無いかもしれないが、自分が考えたサービスのアイデアを実際に動かして検証することは出来て、これはとても画期的なことだと思う。挙動可能性とそれに対する体験が手元の「パソコン」一台とお金のかからないソフトウェアやライブラリ群を利用して済む。もしかしたら世界を変えるような物事がリスク無く検証できるWebアプリは魅力的である。

cafe

で、ローコストってのは前述したサーバー代とかそういうことで「VPS安いじゃん!」から始まり、何よりも、今やAWSを使えばスケーリングに関わる問題を「富豪的に解決する」ことが簡易になったこともある意味他のリソースを食わないという文脈ではローコストだね。

2. スピード感がたまらない

大学生の時くらいからFlashのActionScriptを利用したプログラミングをやっていたんだけど、ある時からWebアプリ屋に引っ越ししようとした。その動機がスピード感だ。ようは単純である。Flashの場合、一般的には、プログラムを書いた後、一度Flashのオーサリングツールでレンダリングして結果を見る。また、ビジュアルを扱うような場合はマウスも触らなくてはいけない。一方、LLの世界だと、例えばTerminalソフト上でコードを書き、screenやtmuxを駆使し、もう一方のペインにスイッチしコードを実行出来る。つまり、手を動かして書いた「コード」がどのような「結果」になるのか?の答えを得るまでの時間がFlashに比べて短いのである。その短さは「ほんのちょっと」だけかもしれないが、自分が一度そのスピード感に慣れると戻れなくなる。マウスに触れなくていいし。Webのアプリの場合はTerminalのソレに加えて「Webブラウザで確認する」という作業が仲間入りするが、キーボードショートカットで切り替えられる。LLを取り上げたからと言って、コンパイルが必要な言語を非難しているわけじゃなく、こー「なんかやったら、すぐ動かしたいよね!少しでも!」って意味である。

Screen

違うコンテキストで捉えるならば、Web、もしくはWebの応用は比較的新しい技術、そして産業であり、新興のテクニックやライブラリ、概念などがどんどん出てくる。新しいからこそぶち当たる技術的、はたまた、倫理的、etcな問題を業界みんなで解決しようよね!という雰囲気も大いに好んでいる。

3. 色んな意味での「世界」がある

WebはグローバルIPにドメイン乗っければ、全世界に発信できるのも当然ながら魅力である。miyagawaさんが始めたPodcastRebuild.fm」は主に彼が居住するアメリカのサンフランシスコで録音されたコンテンツだ。それに感化され弊社オモロキ代表の鎌団子と始めた「だんごゆっけの平和な話」は我が国、日本で収録され、TumblrとFeedburnerとAmazon S3とCloudFrontを組み合わせてでっち上げたシステムで配信しているが、当然ながらそれもRebuild.fmと同じように世界中で聴ける。「とはいえ聴く人いるのかよ!」というツッコミが飛んできそうであるが、実のところmiyagawaさんが聴いてくれていた。PodcastがWebアプリか?という議論は置いといて、Podcastは、mp3とRSSのメディア拡張を配信すれば誰でもつくれるわけなんだけど、これが昨今の「プラットフォームアプリ」とはまた違って面白いよね。

Podcast

さっきも話したけど、Webアプリをつくる界隈でも言語や地域で色々なエンジニアの世界があって、そこを覗くのも興味深い。しばしば土地性を考えるんだけど、まぁ大抵みんないい人だし、YAPCとか来る人は「いきなり技術の話をしてもみんなひかない」ので安心感あります。


たぶんもっとたくさんあるような気がするし、もっとキレイにまとめられそうな気がするけど、今日はここまで。そういえばスティーブ・ジョブズとスティーブ・ウォズニアックのエピソードを描いた「スティーブズ」をLINE漫画で読んで、熱狂するモノ=この漫画の場合「パーソナルコンピュータ」などEmergingな事柄にはもちろんだけど「当時」までにはない魅力があるのよね、と感じたんだけど「今」はWebアプリこそEmergingで、だからこそ面白いのかな?ってのも思うし、もしかして、もうEmerging通り越した?とも考えたりしました。

ちゃんちゃん♪