COBOL技術者の憂鬱

COBOLプログラマは不在にしています

ITpro challenge 2008の感想

今月初旬に東京で開催されていたのですが、今の自分にとって刺激的なお話ばかり聴く事ができて、非常に勉強になりました。
帰りの新幹線の中で内容についてまとめ始めていたのですが、あまりに濃すぎる内容の為、未だにうまく整理しきれていないですね。



◎DeNA 川崎氏

携帯の世界では、若い世代から圧倒的に支持されているDeNAのサービスの舞台裏ということで、とても興味深く聴かせていただきました。


特に開発手法についてのお話が面白かったですね。
私のように普段はお堅い分野で業務をこなしている人間からみると、非常に独特なものだったので、目から鱗というか、結構衝撃を受けました。
携帯ユーザーはレスポンスが非常に早いので、それを利用してファーストユーザー対象に新機能をリリースしてテストの工数を削減していたりとか、考え方が独特で面白いですね。
運用時のマージンの持たせ方も面白いなぁと思いました。土日に負荷のピークがやってくることをあらかじめ想定して、それに耐え得るような対応を平日に施しておくというのは、行き当たりばったりなようでいて、トータルでは理にかなっているんですよね。


他には、サービス開発者とマネージャーとの関係は、作家と編集者のような関係が理想的だとおっしゃっていたのが、なぜか私にもよくわかるような気がして納得してしまいました。


質疑応答の中で、モバオクやモバゲーはなぜここまで普及したのか?という質問が出ていたのですが、モバオクについては最初にユーザーを引き寄せるためのアイテムをいくつか仕込んでおいたのが功を奏したそうですね。
モバゲーについては、モバオク内にいる優良ユーザーのみを選別してモバゲーへ誘導し、初期ユーザーを優良ユーザーで構成することにより、「優しい」文化を作る事ができたということでした。彼ら初期ユーザーが、後から参加してくる人たちの模範となってくれたことで、優良なコミュニティを育成することに成功したそうです。
新規コミュニティサービス立ち上げ時には、やはりそのような戦略を事前に立てているんだなということがわかり、とても参考になりました。



◎Nexedi 奥地氏

今回の4人のスピーカーの中では、全く知らない方だったのですが、ちょっととぼけた感じのキャラクターが好印象の方で、最後まで楽しく聴かせていただきました。


お話のポイントは3つ程あったのですが、まず始めに、技術者として貴重な人材になるにはどうすればよいのかということを、4つにタイプ分けして解説されていました。4番目の「誰もやりたがらないことをやる」というのは戦略的になかなか気づきにくい部分なので、なるほどと思ってしまいました。今の私が歩んでいる道も、この道なのかなという気はしているので、正直微妙な気分ですが…


二つ目のポイントは、「新しい事にチャレンジして失敗しても大丈夫なように、常に保険を用意しておく」ことが重要であるとお話されていました。人生の選択肢をいくつ持っているのかを常に自分の中で勘定しておくことは大切だということでしょうね。これも納得です。


最後に、オープンソースの利点についていくつか挙げられていたのですが、他の技術者と話をする際にコードを前にして話ができるという点や、社内に留まらずに外部のエンジニアと一緒に活動することができるという点、さらに学校などで講義を受ける事ができない立場の人間であっても、自習用の素材がすぐに手に入るといった機会均等性についてお話されていました。

このお話を聴いていて、そういえばCOBOL以外の言語で、他人のソースって見た経験がほとんどないことに思い当たりました。私のコードがいつまでたっても汚いのはおそらくそのせいなんでしょうね。これからは自分でガリガリ書くばかりではなく、意識して他人のコードを見ることをもっとやっていこうと思わされました。



Six Apart 宮川氏

著名なハッカーである宮川さんが、自身の生い立ちから現在に至るまでの軌跡についてお話されていたのですが、ライブドア入社以降のお話がとても興味深かったです。


社内フレームワークオープンソースとして公開しておくことで、入社前の新人にあらかじめ勉強しておいてもらえるので、入社後に個別指導する手間が省けるというお話に感心しました。普段、汎用機の閉じられた世界にいると、そういうことができるということのありがたみが、よくわかりますね。


転職先であるSix Apartへ、履歴書の代わりにCPANモジュールの登録履歴を提出したら即採用されたというお話は、聴いていて身震いするほど興奮してしまいました。コードレベルで評価してもらえたことが転職の決め手になったということで、ハッカー同士が理解し合うことのできる世界ってそういうものなんだと納得してしまいました。


セッション終盤で、世間的な流れについてお話されていた点も印象に残っています。
API1.0からAPI2.0への変遷により、個人で何かを作ることの敷居が下がっていると共に、巷に溢れているWebサービスの機能拡張を行うのは、そういったAPIを利用できる立場にあるユーザー自身であるということをおっしゃっていて、私自身日頃から実感していることだったので、深く納得することができました。



◎Dreamboat 金子氏

セッション冒頭で「自分は趣味でプログラムをずっと書いてきたが、プログラマーというわけではない。では何者なのかというと、シミュレーション屋だ。」と語り始められたので、いきなり面食らってしまったのですが、今回のイベントの中ではこの方のお話が一番刺激的な内容だったと感じています。
プレゼン中に、自作アプリ上で3Dのキャラクタをグリグリ動かしながら、さりげなく「これAPI使わずに全て自前で物理演算しています。」と言ってのけるあたり、非常に格好いい方だなという印象を持ちました。


セッション内容は、金子さん自身の発想の根源やプログラミング方針についての説明が中心だったのですが、そのどれもが私の想像の範疇を超えていました。


金子さんの作るプログラムは、必要最低限しか作り込まない為、非常にシンプルなものになってしまうのですが、その動作結果は作った本人にも想定できないものになるそうです。
まず始めに「何がやりたいのか」をはっきりさせて、そこを主軸にしてブレさせることなしに、適当にプログラムを完成させて動かしてみるそうです。
できあがったプログラムを実行してみると、きちんと動作するのですが、何故きちんと動作するのかがよくわからないけども、動いているからまぁいいや的なノリで開発を続けていくそうです。
けれどもそういうやり方でやっているわけですから、当然予想外の動作をすることが多く、そういう現象は一般的には「バグ」と呼ばれることになるのですが、金子さんにとってはバグはバグではなく、「新たな切り口を発見する為の糸口」だと捉えているそうです。
何故動作するのか、その理屈の部分がわからなくてもプログラムは作れるし、そういった理屈は無視して、とにかく先に進むことが自分にとっては重要なのだとおっしゃっていました。


セッション終盤では、プログラミングとは複雑系を具現化してくれるもので、自分にとっては表現手段なのだから、国家権力によって検閲することは止めてほしいとおっしゃっていました。


最後までお話を聴いていて抱いた感想ですが、プログラミングとは実現したいことがまず始めにあって、それを定型のロジックに無理矢理おしこめていくようなイメージを今まで持っていたのですが、それとは全く別のアプローチで開発することもできるんだなと思い、ちょっと認識が変わりましたね。
そして、金子さんは、どうしても具現化したいものが頭の中にあって、それを誰にでもわかる形にするために日々画期的なソフトウェアを産み出しているんだなと思いました。
そういう眼でみてみると、金子さんは表現の自由を主張している孤高のアーティストのような存在に思えてきて仕方がないのです。




たくさん書いてしまいましたが、やはりまとめきれていないですね。
ここでひとまず筆を置かせていただいて、後日、LTや懇親会のことについて書こうと思います。