2月7日(土) 、東京、秋葉原のUDXギャラリーにて、「 Webデベロッパの祭典@東京+ちょっとアキバ気分で」が開催されました。同イベントは( 株) パソナテックの10周年記念イベントの1つで、おもにWebアプリケーション開発者に向けて、仕事の進め方や実践的な開発手法などを、いまWeb開発の第一線で活躍する開発者が提示、紹介するというもの。これまで札幌、福岡で開催され、今回の東京でひとまず締めくくりとなります。
ここでは、プログラム最初のキーノートセッション、および最後に行われたスピーカー勢揃いのパネルディスカッションをレポートします。
「未来はこうなる」ではなく「こう『する』」もの─小飼弾氏のキーノート
最初のセッションはオープンソース開発者、そしてアルファブロガーとして数多くの著作や言及で知られる小飼 弾氏(ディーエイエヌ有限会社 代表取締役)による「どうするデベロッパ!? 2009年プログラミング大展望」と題されたセッションです。
セッションの冒頭「2009年のトレンドとは?」と問いかけながら、YouTubeにアップされている2008年の株価変動チャートを音階に見立ててメロディに変換したビデオ を紹介。
セッションは小飼氏が来場者に質問、挙手や意見を求め、その反応を見つつコメントするという形で進められました。まず、去年から今年にかけての給料、顧客の売上について会場に尋ねました。参加者の多くが現状維持という回答に、「 皆さんは世間の標準よりかなり良いです」とコメント。平均株価が半分になったからといって、日本経済が半分になったわけではなく、ましてやエンジニアの持つ技術、知恵などは失われていないと断じます。
では、この時代をどのように過ごすべきかという点について、小飼氏は「晴耕雨読」という言葉を掲げ、「 今は景気が失速し、いわば『雨』の時期、こんなときは仕事が少ないので余った時間に本を読む、すなわち将来役に立つ技術や知識の習得に当てるべき」と説きます。Googleの「20%ルール」に引っかけて「弾の新20%ルール」として「エンジニアが得るすべての収入を20%の時間で稼ぎだす」ことを目標にし、あとの80%は技術習得の時間とすることを提案しました。
自ら会場を動き回り、来場者にマイクを向けながらセッションを進める小飼弾氏。来場者は先生に指される生徒のような気分?!
次に、「 雨読」として新たに何を学びたいか、という質問を会場に投げたところ、Rubyという人が多く、Java、Python、少数派ではLispやアセンブラといった答えが返ってきました。「 新しく学びたいという割には、それほど技術として新しいものを学びたいわけではありませんね」と小飼氏。さらに、同じくこの時期に英語を勉強したいかという問いには多くの人が手を上げましたが、小飼氏は英語を学びたい人の動機として、単に英語が使えるようになりたいわけではなく、「 英語を使って何かを学びたい」からではないか、と分析します。
このように、不況のときは好況時のようなすぐに役立つ知識よりも、もっと根源的なものを学ぼうとするし、そのチャンスではないか、という意味での「晴耕雨読」であるとのこと。これをもっとはっきりさせるため「今日失業したら、明日から何をしますか?」という極端な質問を投げたところ、すぐに役立つ仕事や資格を取るための勉強をするという回答がありましたが、小飼氏は「こうした状況でトレンドを追うのは間違い」と指摘。不況になって慌てて何かしようと考える人は、本当に不況で自分の仕事がなくなったときのことを考えていないと言います。
最後のテーマは「未来はどうなる?」です。実はこれは引っかけ問題で、「 ○○になる」という言い方をしているうちはただトレンドを追っているので、自分のポジションをコントロールすることはできない、と小飼氏。有名なアラン・ケイの言葉「未来を予測する最良の方法はそれを発明すること」を引用して「未来をこうする」と言えるトレンドセッターとなろうと呼びかけました。
「プログラマは職業のワイルドカード=ジョーカーを持っている。その業種のソフトウェアを作ることは、その職業に就くことに等しい」とプログラマという職業の魅力をアピール。
そして実際に「未来をどうしたいか」という来場者への質問に、「 裕福になりたい、楽しめるようになりたい」という答えがありました。では「裕福、楽しいとは一体何か?」と質問を重ねます。「 小飼弾を裕福だと思っている人がいると思いますが、答はノー。なぜなら、私は明日も明後日も、未来に生きるつもりだから。未来の自分から見て『あのときは裕福だった』と思い返すような生き方はしたくないのです」( 小飼氏)
セッション後の来場者からの質問「ソフトウェアによってどんどん自動化が進んでいくことで、仕事を奪われる人が出てくるのではないか?」に対して小飼氏は「仕事はむしろ奪われるべき。なぜ『働かざる者食うべからず』になっているのか? ITが生産性をどんどん上げていくことで、働くことに特別なインセンティブはなくなる。そういう世になるべき」と、ここでも持論を展開。賛否はともかく、このセッションを聞いた人は、自分の固定観念を見直すいい機会になったのではないでしょうか?
多彩なバックグラウンド、世代を背負った開発者がトークバトル!?─パネルディスカッション
最後のセッションは「その仕事楽しんでる?『プログラミングの楽しさと仕事としてのプログラミング』 」と題したパネルディスカッションです。当初の予定を変更し、当初予定されていなかったスピーカー3名がパネラーとして緊急参加(参戦?)する豪華セッションとなりました。
パネリストの顔ぶれは前出の小飼 弾氏をはじめ、クックパッド( 株) CTOの橋本 健太氏、( 株)Abby代表取締役社長の米林 正明氏、( 株)電通国際情報サービス アーキテクトの大谷 晋平氏、( 株)ツインスパーク シニアプログラマーで日本Rubyの会会長の高橋 征義氏、( 株)ビート・クラフト シニアエンジニアの小山 哲志氏、という6名。モデレータは( 株) 技術評論社 クロスメディア事業部の馮 富久が務めました。
まず全員がご自身のプログラミング歴とプログラミングの魅力を語りながらの自己紹介です。
小飼 弾氏
「物心つく前から知人の家のコンピュータを触っていた。中高生のころはコンピュータは無限が扱えないのでバカで使えないと思っていた。大学のころExcelが出始めて、実験が下手な私が研究データの整理を一手に引き受けてコンピュータを見直した。あとは私の著書 を読んでください(笑) 」
橋本 健太氏
「ゲーム雑誌のプログラムをそのまま打ち込んでいたのが最初。大学の授業でC言語に触れ、初めて自分で考えてプログラムを作った。大学は理系だったのでデータ処理に使った。計算をいくらでもさせることができるのが魅力だった」
米林 正明氏
「プログラミングをきちんと始めたのは社会人になってから。大学ではFORTRANを少しかじったがちんぷんかんぷんだった」
大谷 晋平氏
「通っていた塾の出題プログラムがBASICで書かれていた。良い点を取ろうと思ってそのプログラムを解析したのが最初(笑) 。自分は計算の速さに自信があったのに、コイツはもっと早いというのが魅力に。大学ではUNIXとインターネットが最初から揃っていた」
高橋 征義氏
「小学生のころ、NHKで『TVパソコン教室』という番組を見て、NEC PC-8001を使ったのが最初。大学のころFreeBSD(98)が出て、単なるユーザではなく自分でUNIXのroot(管理者)になれたのが楽しさの原体験になった」
小山 哲志氏
「日立ベーシックマスターレベル2に『海のトリトン』の曲を打ち込んだのが最初(笑) 。大学時代は留年中に親に借金してパソコンを購入し、アルバイトもコンピュータ関係(クボタ TITANワークステーションで3DCGプログラミング)でコンピュータづけの生活。社会人になってからはJUNET(日本のインターネットの先駆け)に触れ、コミュニケーションにのめり込んだ」
Railsはプラットフォーム化、開発環境はブラウザ化、プログラマはマルチスレッド化?
次に、「 プログラム言語のトレンド」というテーマに移りました。まず小山氏が「Ajaxになってクライアント側の処理が増えたおかげでサーバが楽になった」と話を振ると、大谷氏が「フレームワークも、今までは貧弱なクライアントを前提としたものだったが、クライアントが強いモデルを作るのが良いのでは? サーバ部分はROWなデータ処理のみにするのが良い」と答えます。
実際にRuby on Railsで大規模なサイト(クックパッド)を作っている橋本氏は、その魅力として、とにかく早く開発するという会社の要求する方向性に非常に合っていると評価。「 サービスを受ける側ではなく、作る側にとってのわかりやすさも重要です」( 橋本氏)
小飼氏は「Railsの良さはその『重さ』 。それまでWebサーバはApacheに決まりで文句もなかったのに、Railsが重いせいでlighttpdなどWebサーバの進化が始まった。『 低性能』というのも良いのでは」とやや逆説的に評価します。
高橋氏は、言語によってフレームワークや環境を切り替えるのは小さな会社で開発しているとつらいものがあるとして、その点PHPは環境を揃えるのに適していると述べました。そんなPHPにもRailsは影響を与えていて、「 たとえばRailsは多少不安定な機能でも採用してみて、ダメなら捨てる、あの割り切りはすばらしい」と言います。Railsコミュニティの動きの軽さ、アグレッシブさがWeb業界に良い刺激を与えていると指摘。
これに大谷氏が「RailsはフレームワークではなくWebサービスプラットフォームになることを目指しているのでは?」と問うと、高橋氏は「Rails 3.0では2.0で拡張した機能のモジュール化を進めているので、そこまで大きくすることを狙っているわけではないだろう」と答えました。
米林氏は、今年はJavaFXをはじめとするJavaのクライアントサイドが「来る」と指摘。これに小飼氏が「JavaScriptはブラウザさえあれば開発できる。Javaの開発には実質Eclipse(のような開発環境)が必要でしょう?」と返すと、大谷氏が「Eclipse4(まだいつ出るかも未決定のバージョン)のデモでブラウザベースでの開発する画像があったので、いつかはわからないけど将来的にはそうなっていくのでは?」と指摘。話題はWebブラウザに移ります。
小飼氏「Google Chromeは1タブ1プロセス。プロセスもブラウザでコントロールできるようになると、アプリはブラウザに閉じこめられてしまうのでは?」との指摘に、米林氏が「それも流れとして良いのではないか。ブラウザよりも細かいウィジェットの集合体になってしまうかも」と答え、大谷氏も「今や多数の細かいプロセスがマルチコア上で動くモデルが主流になっている」と同調します。
ここから話題はマルチコア、メニープロセス(スレッド)に移り、小山氏がマルチスレッドプログラミングがうまく行っていない(マルチコアマシンの性能引き出せていない)という話を出すと、小飼氏は「プロセッサが多数ある世界に人間が慣れていないだけで、時間が解決するのではないか」とコメント。
「ITコミュニティ大国」日本
次のテーマは「コミュニティ」です。昨年の「Internet Week 2008」でITコミュニティの“ メタイベント” と言える「IT Community Impact! 」を手がけた小山氏が、まず2008年のコミュニティ/勉強会の爆発的な増加について、技術的な面としてはコミュニティを作るノウハウがネットで流通し、作りやすくなった点と、社会的な面では不況になって会社以外の“ セカンドオピニオン” としての手段が求められるようになったのが大きいと分析します。これを裏付けるように、地方のコミュニティが非常に増えているとのこと。「 この動きは日本の将来を左右するのではないかと思っています」( 小山) 。
モデレーターを務めた技術評論社 馮富久
ここでモデレータの馮からパネラーに「何かのコミュニティに入っていますか?」と質問、全員が挙手しました。ある意味当然の結果と言えますが、さらに「コミュニティに入りやすいのは東京在住だから?」との問いには、「 東京には全世界に向けて発信できる人が多いからでは?」( 小飼) 、「 コミュニティで有名になると東京に引き寄せられる、東京からの仕事の誘いなどが来るから。私もそうだった」( 高橋)といった意見が出ました。
さらに高橋氏は最近の状況としてUstream.tv によるネット中継の効果を指摘します。「 地方のイベントにも日本中からツッコめるようになりました(笑) 。東京に行く理由が薄れてきましたね」( 高橋) 。
大谷氏も「日本はJavaScriptのコミュニティが異様に多い。海外の人も驚くほど。しかもどれも良質なコミュニティです。2008年に大きく広がりましたね」と日本固有の状況を紹介。小飼氏は「LispがJavaScriptたりえないのはコミュニティが存在しないせい。世界レベルでも100人くらいしかパワーユーザがいない」と、コミュニティとテクノロジーの発展との関係を指摘します。
一方、個人としてコミュニティに参加した経験を語ったのが米林氏。「 昔はコミュニティなんて自分に必要ない、本を読めば知識は手に入ると思っていました。今思うと視野が狭かったですね。参加してみたら知見が大きく広がりました」としながらも「積極的に活動するのは良いことだが、無理する人がいる。自分が抱えられること以上に背負い込む必要ない。まず自分の幸せ。余力があったらやるスタンスが重要」と少し慎重な話も。
「この効果はIT、ネットという分野ならではのもの?」( 馮)という問いには、小飼氏が「ソフトウェアは言語(言葉)そのものが成果物となる。その点が勉強会にマッチしている。たとえば、旋盤の使い方は勉強会ではスキルアップできないが、ソフトウェアは考え方を少し聞くだけで、劇的に変わることがある」と指摘。
コミュニティへの実参加に過度にこだわる必要はないとの意見もあります。米林氏は「興味があれば行った方が良いが、無理に行くことはない。家族や恋人優先(笑)で、余った時間を振り当てるくらいがちょうど良い」と語りました。高橋氏も「地方にいると、実際の勉強会になかなか出かけにくいが、以前はネットのやりとりといえばメールだったのが、メッセンジャー、Twitterと便利になってきて、ネットだけでも問題はなくなってきた。ネットで注目されると実コミュニティでも噂になる」と、ネット活用の効能を強調します。これに対して小飼氏は、ネットコミュニケーションの限界を指摘。「 ネットは視覚だけしか使えないが、リアルに会うと五感を使う。その意味でネットはリアルよりハードルが高い。ネットがすぐ炎上するのは視覚でしか情報を得られない点にもある。初心者ほどネットでの感覚がつかみにくいので、リアルなつながりから始めてほしい」( 小飼) 。
プログラマは万能か?
ここで、パネラーの皆さんにプログラマという職業について語ってもらいました。クックパッドの橋本氏は、もともとプログラマではなく企画担当として入社されたそうです。「 自分の考えたプランを、よりダイレクトにユーザに届けたいという思いが募ってプログラマになりました。“ 人を幸せにするための物作り” がしたいですね」( 橋本) 。
プログラミングのクリエイティビティに魅力を感じたのが高橋氏。「 プログラマは『プログラムを作るプログラム』を作ることができる。そんなことができる仕事は他にないのでは?」( 高橋) 。小飼氏はこれを受けてキーノートでも訴えてきた持論を披露します。「 極論を言えば、プログラマだけが仕事となる時代が来ると思う。たとえば何でも作れる万能工作機を作ったら、それに指示を与える仕事以外必要なくなる。指示を与えるのがプログラマ」( 小飼) 。
これについては「言っている意味がよくわからない」( 米林)「 SFテレビに出てくるような世界?」( 小山)「 翻訳ソフトの発達で翻訳家が不要になるようなもの?」など真意を把握しかねるパネラーが続出。小飼氏も「翻訳などコミュニケーションがからむ部分はコンテクストが重要になる。こうした部分やプログラミングという行為まで自動化してしまうとなると、人工知能の話になってしまう」と話が発散しかけたため、次の話題となりました。また機会があればじっくりお聞きしたいテーマですね。
今後のプログラマについて「自分自身としてはRubyを成熟させていきたい。注目されるプラットフォームで活動し、ほめられることがやりがいとなるので、ぜひみんなも参加してほしい」( 高橋)「 プログラマは不況のときも食いはぐれない恵まれた仕事。好きなプログラミングができるかどうかは別ですが」( 小飼)「 バズワードさえ引かなければ、食べていける見込みはある」( 大谷)「 他の人を幸せにしたときに幸せを感じられるのが人間、技術だけではなく、他人に価値を与えられるかどうかを考えたい」( 橋本)と非常にポジティブな意見が出されました。
小山氏は最近の急激なテクノロジーの変化に、以前のように積み重ねでは対応しきれない点を不安視します。これについて高橋氏が「昔に比べると情報量が多いので、若い人はむしろ幸せ。ネットなどを見ると、自分が書いたコードが良いか悪いか判断できるようになる。そのためには人のコードを読まないと。良い悪いの基準を持つことが重要」と言うと、小山氏は「それこそが経験では? 私は今でも設計で悩むことがある。乗り越えるには何らかの蓄積が必要」と返します。ここで小飼氏が「それはリニアなやり方。ノンリニアに飛躍するためには『未経験』という要素が重要。常識をぶち壊せるんです」と応じました。
ここでノンリニアの例として「クラウドコンピューティング」はどうか? という問いかけがモデレータからありました。小山氏は「これまでになかった、“ 一人が数万ユーザにアクセスするしくみ” という点がすごい」と言うと、橋本氏は突発的な大量アクセスに見舞われた経験から「変化を吸収できるクラウドは魅力的。直近で言えばクックパッドのバレンタインデーのアクセスをさばけそう(笑) 。解析用のシステムにも利用できそう」と興味を示します。大谷氏も、年末アクセスなどの一時的な対策としてクラウドは有用としながらも、「 提供してくれる側がどこまで性能を担保してくれるのか?コントローラブルではないのでは?」と不安点も挙げます。
これを受けて小飼氏が、クラウドサービスを提供しているのがほとんどアメリカなのは、電気代のせいだと指摘しました。日本は電気代が米国の3倍かかるため、そのコストだけでクラウドが料金的に見合わないのだとのこと。
ここからWebアプリを支えるインフラに話題が飛びました。ハードの進化をプログラマが意識する必要があるかという話題に、小飼氏は3年後にはサーバ側のプログラマは意識する必要があると考え、小山氏は、今もマルチコアなどを普通に使っているが、今後アプリケーションで扱うプロセスが数万単位となり、コア数もそれを超えたら考えなければならなくなるかもしれないとコメント。
大谷氏がこれについて「仮想化すれば良いのでは?」と返すと、小飼氏は「それはもったいない使い方。せっかく多数のコアをうまく使う方法があるのに1台に見せてしまっている」と答えました。大谷氏は、言語処理系レベルでの対応が必要と指摘すると、小飼氏は往年の「コネクションマシン」というシステムを例に挙げ、こうした発想の転換が必要となるかもしれないと答えました。
高橋氏は「そこまで深入りしなくても、マルチコアが本格的に普及すれば、まわりの環境が変わってくれるのでは? その辺のPCでクラウドできるようになる時代が来ると思う」と期待します。いずれにしても言語処理系レベルでは、今後も意識すべき問題ということで、皆さんの意見も一致しました。
( 株) パソナテック
URL :http://www.pasonatech.co.jp/index.jsp