ニッチなところで仕事をしていくって上で、雑誌の露出とか書籍の露出ってとても大きくて、私も、昨年「みんなのPython」っていう書籍を書かせていただいたんですけど、お陰さまで好評なんです。実は私、Pythonのコミュニティに関わって長いんですけど、自分で書籍を書くなんてことはまったく想像していなくて、誰か他の人が日本で始めての入門書を書くんだろうなあって思っていたんですけど、たまたま、出会いがあってお話しをいただいて、大変なのは分かっていたんですが、ライター経験もあったしブランディングにもなるし、やってみようかなって思って始めたんです。影響が大きいですよね。この本は440ページくらいあるんですけど、すべての仕事をストップして、かかりっきりになって2ヶ月くらいかかったんです。辛かったけど、苦労した甲斐があったってすごく思いますね。この本を読んでいただいて、お声をかけていただくことが多くなりましたからね。比較的、簡易なことから書いているんですよ。私は基本的に人を信用しないところがあって、ずべての前提知識がないものと思って書いたんです。いえ、まったくプログラミングをやっていなくても大丈夫だと思います。変数に代入するとどうなってというところから全部書いています。技術者の目線だと暗黙知のレベルが高くなっちゃうんじゃないですかね。私はライターをやっていたこともあって、そのあたりは、未経験の方でも分かるように書けたという思いがありますね。なんでワープロでプログラムを書いちゃ駄目なのかとか、本当はそういうところから説明した方がいいかもしれないですからね。何より、未経験だと分からないのが、このプログラムがどうしたら動くのかっていうのを実感していなんですよね。何をどう組み合わせて、どういう条件や環境があると動くのかが分からないんです。昔は、プログラムとコンピュータが近いところになったので、こうすればこう動くっていうのがすごく分かりやすかったんですよ。world」ってあるじゃないですか。表示された!」ってすごく嬉しかったんですよね。world」を書いて、コンパイルして走らせてみましょうって言って表示されても誰も喜ばないと思うんですよ。それってすごく重要で、何か学ぶってことは、学ぶために投入したエネルギーのリターンが必要なんですよ。そのサイクルがないと学ぶことを続けていけないんですよ。そのサイクルをうまく作りながらちょっとずつ進めていくのが学ぶって過程だと思います。今は、リターンを得るためのハードルがすごく高くなってしまっていて、昔だったら記号を組み合わせて人間の形をつくるダスキーアートみたいなもので、うまくパラパラ漫画みたいに入れ替えて、表示すると走っているように見えるっていうところでもみんな喜んだんですよ。今はだれもそんなんじゃ喜ばないですよね。インターネットで動画とかバンバン入ってくる時代ですからね。昔は本当にコンピュータで音を出すだけでも喜べたんですけどね。今はハードルが高すぎて学ことのためのリターンを得るのがすごく難しくなっていますよね。プログラミングを始める人たちは、最初の段階では、プログラミングをした結果が目に見えやすい形でリターンとして帰ってくるようなものを使った方が続けていきやすいかもしれないですね。掲示板でもいいから作ってしまった方がいいっていわれますね。ええ、動くものを作らないとリターンが得られないですよね。車に乗っているとしたら、マニュアルじゃなくてオートマですよね。したらゴーカートに近い感覚なのかもしれません。ペダルとブレーキ踏んでいるだけで、たまにハンドルを動かすくらいのことかもしれませんね。コミュニティはもともとそういうのが好きだったという感じなんですが、Pythonのコミュニティに最初に関わったのは、PyJUG(Pythonジャパンユーザーグループ)っていうコミュニティがあって、その結成会のOFF会があったのがきっかけです。PyJUGの命名には実はいわくがあって、本当はJPUG(ジャパンPythonユーザーグループ)がよかったんですけど、日本PostgreSQLユーザー会がすでにJPUGと命名されていたんで、それでPyJUGにしたんです。コミュニティは6年くらいですかね。当時は、今以上にPythonっていうのはマイナーで、そこに集まってくる人たちはすごかったですね。当時Pythonを知っている人っていうのは前提条件として英語が読めて、技術者としても第一線でもそこそこ活躍している。アンテナも立っている人ばかりでしたね。面白い話があるんです。昔、Pythonのメーリングリストで発言した人のところにヘッドハンティングの電話が順番にかかってきたことがあったんです。狙い目とはいいと思いましたね。ゆるい組織なので、会長もいませんし、決まりもないんです。PyJUGっていう組織があって、メーリングリストがあって、たまにイベントをやります、以上みたいな感じです。PHPユーザー会の雰囲気に似ている感じですかね。コミュニティって有機的なものだと思うんですよ。その有機的なものを安定的にしていこうと思うと、まず人が集まって、そして新陳代謝がないと駄目なんですよね。私から仕掛けて、外に出るイベントをたくさんやっていきたいなって思っています。新宿の某所なんですけど。マイクロソフトでやったんですよ。マイクロソフトがオープンソースの勉強会に会場を貸してくれるって意外ですよね。GPLは駄目らしいんですけど、PythonはBSDライセンスに近いので、そのあたりでOKだったらしいんです。最近は、.NETで動くアイアンPythonっていうPythonの実装系があって、開発者はマイクロソフトの社員なんですよ。Huguninっていうんですけどね。縁がないわけじゃないんですけどね。マイクロソフトさんは、オープンソースにイベントに行くと必ずいらしてますし、力を入れているんじゃないでしょうかね。その一環かもしれませんね。去年はマイクロソフトで、今年は、東京大学の駒場キャンパスでやったんです。講演も、マイクロソフトのMVPの新井さんにお願いしてアイアンPythonについて話していただいて、それが縁で、新井さんはアイアンPythonの本も出されたんです。いろんなつながりがあって面白いですね。リアルなところに出て行くと、いろんな人とつながりあえますね。新陳代謝っていう観点でいうと、新しいヒーローが現れてこないと、コミュニティって大きくなっていかないし、続いていかないと思うんですよ。イベントでそういう人に話す機会を与えたり、話すことで注目を浴びたりということもあるので、イベントは定期的にやっていきたいと思いますね。これから楽しみですね。5年くらいでWebの次のものを見つけたいですね。5年くらい、Webをやる傍らで、その次のものにちょっと投資をして、10年後くらいに完全に移行できるといいですね。自分の人生を振り返ると、まずライターを10年弱くらいやって、Webの開発に移って5年くらいたつんですが、あと5年くらいで、業界というかWeb自体が成長の頂点を迎えると思うんですよね。そこにしがみついていると、仕事も立ち行かなくなってしまうと思うので、それまでに次のものを見つけて移りたいなあと思うんです。長期的なビジョンですけどね。それ以上は流れが速すぎて分かりません。確かに変わりますからね。変わるってことはすごく重要ですね。その変化に対応するだけの体力をつけていかなければならないと思いますね。ローレベルな開発をしていても、アプリケーションの開発をしていても、Webの開発をしていても根底に流れているものは同じなんですよ。エンジニアとして生きていくなら、まず根底に流れているものをしっかりと自分の体にしみ込ませて、あとは世の中の動きを良く見て、自分がそこにいると幸せだなというところを見つけて、そこにいられるような環境を作ることが大事なのかなって思いますね。その前提として、変化するってことは肝に銘じておかないといけないことですね。Zopeみたいなものをやっていてつくづく思うんですけども、Zopeって出た当時はもてはやされて、いたんです。Railsみたいなアプリケーションフレームワークっていう言語の上に乗っかっている要素技術があるんですが、上のレイヤーに行けばいくほど寿命が短いんです。Zopeはもうすでにフレームワークとしてみると老練期に入っていている感じがしていますね。フレームワークの寿命って5年とか10年のような気がしますね。人が大学を出て、60歳くらいで定年を迎えるまで、大体40年くらいなんですが、その40年を5年で割ると、8つですよね。仕事をしているうちにフレームワークだけ見ると4つとか5つぐらい変えていかなくちゃいけないってことですよね。フレームワークの寿命もありますけど、言語の寿命ってのもあって、今、RubyとかPythonとか言われていますけど、あと20年後は全然違うものが出てきているでしょうね。使われないかもしれませんね。COBOLくらいれレガシィになれば別ですけどね。最近はJavaなんかもそんな感じかもしれないですね。新しいものほど移り変わるのが早いんでなんとも言えませんけどね。いずれにしても変わるってことですよね。変化を前提としなくちゃいけませんね。毎回毎回いちから勉強するのは辛すぎるので、すべてのベースになる基本があるので、それをしっかり身につけて、基本からはずれる部分だけ勉強するようにして新しいものに対応するのが効率的な生き方ですかね。流れが若手へのメッセージになってきているかと思いますが、改めて、若いエンジニアにアドバイスをいただけませんでしょうか。若い人だと自分が言語やフレームワークを変えた経験がないと思うんです。いう可能性があるってことを前提としていれば、日ごろのスキルアップの仕方や対応姿勢がいろいろ変わることがあると思いますね。僕も仕事で使った言語は3つ目ですが、これからも変わっていくと思うので、それを前提に考えていますからね。一部繰り返しになりますが、楽しむかが重要だと思います。自分にとって楽しいことは何なのかを早く知って、その楽しいことを続けられる環境を作ることですかね。それが重要だと思いますよ。嫌いじゃないんでしょうけど、辛そうに書いていて、とても好きなことをしているように見えない人もいますよね。うーん、やっぱり基本的に仕事をしていて、プロとしてポジティブな方がいいですよね。パーソナリティもあるんでね。ネガティブな人がいいのは、最悪の事態を考えながら仕事をするんですよね。それはすごく重要なスキルだったりしますよね。楽天的過ぎるとCPU資源を食い尽くしちゃうプログラムを作ってきたりしちゃうんですよね(笑)そういう意味では楽天的ではない方がいいですけど、やはりポジティブな方がいいと思います。私、若い技術者と5分くらい話すと、その人がどのくらいのスキルを持っているかって大体わかるんですよ。いうところを見るかっていうと、出来る子って観察力が鋭くて、周りのことをよく見ているんですよ。こちらがボーっとしていると気がついて、気を遣ってくれたりとかする子がいますけど、そういう子って出来る子が多いんです。それは何かっていうと、普段からすごくものを気をつけている人は技術者としてもスキルが高くて、だから・・・ネガティブになっちゃうっていうのもよく分かる気がしますね。普段から最悪の事態を想定して生活しているってことですからね。技術者はやはり技術者なので、会社を興して一旗揚げたいなら、早いうちにいいパートナーを探した方がいいと思います。HONDAが本田総一郎だけではうまくいかなくて藤沢がパートナーになって上昇気流に乗ったという話は有名ですけど、多くの技術者はファイナンスにことも営業のことも分からないはずですから、パートナーを探すのは本当に重要なことじゃないかと思います。日本の技術者でオールラウンドに出来る人って少ないですよね。アメリカだとすごくいるんですけどな。MITを出ていて、ハーバードビジネススクールみたいな人だってごろごろしていますよね。大学の研究室でも後押しをしはじめたりもしていますので、これから日本も変わっていくとは思いますけどね。なっていくといいですし、我々もそういうエンジニアの活躍を応援していきたいと思います。今日は本当にありがとうございました。こちらこそ、ありがとうございました。今回はRubyのパパであるMatzにお話をお聞きしました。今や世界のハッカーにとってのアイドル的存在であるMatzの生い立ちやRubyが生まれるまでの秘話?などをお話いただきました。