Wednesday, March 12, 2008

Matz x Dan x Daiji 「エンジニア進化論」 [seminar]

IMG_4059

404 Blog Not Found で,いつも鋭い視点を披露している小飼 弾さんを,いつか生で見てみたいとは思っていたが,その彼が私のアイドル まつもとゆきひろ さんと対談するとなれば,これは行くしかないじゃないか.

「てくらぼ」オープニングイベント スペシャル対談開催

プログラミング言語「Ruby」の開発者まつもとゆきひろ氏、オープンソースプログラマー小飼弾氏、ファシリテーターに平田大治氏をお迎えしてトークセッションを開催します。

テーマは「エンジニア進化論」エンジニアとしてこれからどうあるべきか?を軸に議論していただきます。来場された方にエンジニアが進化して行くためにどの様な事が必要なのかを感じていただければ幸いです。


まつもとさんは,時折鋭い言葉を混ぜながら,いつも通り飄々淡々と話していた.はじめて見る生ダン・コガイは,想像通りユーモアとウィットに富み,そのブルドックケチャップソース並みに濃いキャラ (褒め言葉) を,いかんなく発揮しまくっていた.トークセッション自体も「ファシリテーターからの質問」「事前に Web で募集された質問」「会場からの質問」と分けられ,上手く構成されていたように思う.

この日一番心に残ったのは,「エンジニアが進化していく為にはどのような事が必要と感じますか?」という質問に対する,まつもとさんの回答.

差別化ですね.

エンジニアなんてどこにでもいる.エンジニアでもプログラマでも,他の人が見た時に,100人いたら同じ100人として扱われる.交換可能なら「あなたがダメなら他の人でいい」ということになる.

自分にとっては自分がすごく大切なのに,社会にとっては自分は交換可能という,切ないギャップがあるわけですよ.

僕は学生の頃からひらがなで名前を名乗っている.こんなどこにでもある名前だから,少しでも差別化したかった.

一芸に秀でることです.僕には Ruby という名刺代わりのソフトがある.希少価値を高めて交換可能ではない人間になることです.

社会には「みなさんと同じようにやりなさい」という同調圧力がある.「空気読め」なんて言われるけど,同調圧力なんて聞かなくていい.会社がそれを認めてくれないなら,能力を伸ばして他のところに行けばいい.

今日はこのことだけ言おうと思って来ました.


これに対して弾さんの,

違いにこそ価値があるのに,お金にならないことがある.

違いを誰にでも分かる形で示すことが重要で,「誰にでも分かるけど,俺にしかできない」というのが最強だと思う.

できない時は逃げてもいいけど,その場合は徹底的に逃げること.逃げている人は,大体手段と目的が逆転してしまう (逃げることが目的になってしまう).そういう人ほど逃げ遅れる.

それと,組織を上手く利用すること.

進化の前に製造しなくていはいけない.正しいことをする前に生き残らなくてはいけない."Right (正しい)" より "Left (残る)" が大事 (右左の right/left とかけている).

というのも,なんとも彼らしい.

ちなみに「では生き残る秘訣は?」という返しについて,まつもとさんはインテルのアンディ・グローブの "Only paranoid will survive" という言葉を引き合いに出しながら,「アンテナを高く持つこと」と話していた.


以下,その他興味深かった話の要約.
(Matz = まつもとゆきひろ・Dan = 小飼 弾)



今注目している言語は?

(Matz)
Erlang とか...
(他にもいくつか挙げていたがメモできなかった)

今後コンピューターに入るコアの数が増えていく.今までは CPU が速くなれば自動的にプログラムが速く動いたが,コアが増えるとソフトウェア側が対応しなくてはいけなくなる.

Erlang が提示しているモデルはその解になる…かもしれない.Ruby にその機能を取り込めるかどうか検討している.隣の芝生が青いので,どれぐらい青いかを見てみようと.

(Dan)
プログラミング言語の枠を超えて言うなら,注目というよりも危機感を感じているのは日本語.10年だとまだだけど,でも20年後だと最新技術は英語じゃないと学べない時代が来るかもしれない.

(Matz)
確かに,例えばマレーシアだとコンピューターの授業も本もみんな英語.自国語でコンピューターを最後まで学べるのは日本とドイツぐらい.日本語がレアだということは自覚しておいた方がいい.



オープンソースは最高か?

(Matz)
最高.

(Dan)
「最高」と言うからには2番目3番目のソフトウェアを定義できることになる.オープンソースで作ったのにオープンじゃないものがいっぱいある.例えば Google とか.もしオープンソースが最高ならば,なぜそうじゃないものが残っているんだろう?

最高の中にも,「飯が喰える」のか「遊べる」のか,いろいろある.一次元の議論ではない.

(Matz)
Ruby は最初からオープンソースにしようと決めていた.金を取っていたら Ruby は存在しなかっただろうし,僕は他の仕事をやっていただろうし,今の収入もなかったと思う.



エンジニアには英語は必須か?

(Matz)
必須ではないが,英語以外だと情報に時間差があること,英語を知っているとアドバンテージがあることは確か.

(Dan)
必須.英語を知っていた方が儲かる.



つまらない,と思いながらプログラミングをすることはあるか?

(Matz)
ない.

(Dan)
頭で考える時は良いが,手を動かしている時はかったるい.

(Matz)
ふーん…
僕は頭の中では書けない.手を動かさないと書けない.



プログラマ35才定年説は本当だと思うか?

(Matz)
人間の能力として35才ぐらいにリミットがあって…という話なら反対.

でも日本の社会の圧力として35才ぐらいでマネージメントの方向に行かされて…という話なら,なんかありそうな気がする.

「プログラミングすりゃーいいじゃん」って思うけど.

(Dan)
逆説的になるが,およそプロというのはプロフェッションにくっついてくる技術だけやっていればいいわけではない.プロである以上,会社とか上司といったインターフェイスを上手くこなすことが必要.



今の若い人,例えば小学生に,エンジニア (プログラマ) という職業を勧められるか?

(Matz)
「まあなればいいんじゃないの?」と思う.世の中には,ほっといてもモノを作る人がいる.そういう人がエンジニアになるべきで,モノ作りに関心がない人にはエンジニアは向かない.

それを決めるのは自分自身.



なぜ日本では技術者志望の減少・理系離れが進んでいると思うか?

(Matz)
動機づけが何なのかという問題.楽な仕事やワリのいい仕事の為に逃げて行っただけだと思う.

(Dan)
理系のセンスが無い人は,何をやってもきつい.理系から文系の転向はありえるが,その逆は見たことがない.これが全てを物語っている.



2人のロールモデルは?

(Dan)
ロールではないが,「これでいいんだ」と背中と押してくれたのは Larry Wall (Perl を作った人).

(Matz)
弾さんとは違う理由で Lary Wall.Programming Perl という本はジョークに溢れ,読み物としてとてもおもしろい本だった.

(Dan)
確かに彼は,ソフトウェアエンジニアリングに笑いを持ち込んだ人だと思う.

(Matz)
ただ,彼が作った言語はいかがなものかと思う (笑).言語デザインだけは僕の方がマシにできる.



Rails をどう思っている?

(Matz)
気持ち複雑なところ.

Rails によって Ruby を知ったり使ったりしている人がいることは確か.ただ,Rails を作った人は (若くて Ruby を学んで1年足らずで Rails を作り,Ruby の歴史や背景も知らなかった為) Ruby のしきたりやルールが分かっていない.

「そこまでしますか,フツー」と言いたくなることもある.でも概ね感謝しています.



PHP はカリスマから見てどうなのか?

(Matz)
プログラマとして成功するまえに,コンピューターサイエンスの知識を持っている必要がある.その知識を深めれば深めるほど,PHP に対して不満を言いたくなるかもしれない.

(Dan)
ところで,もともと Rails は PHP でやりきれないことを解決する為に生まれたんだよ.



エンジニアにブログは必須だと思うか?

(Dan)
転職のチャンスになる.はてなとかライブドアみたいな会社だと,ブログを書いていないと人として認められない.

(Matz)
誰でも最初から大きな会場でプレゼンできるわけではない.でも自分のブログだったらアウトプットを公開することができる.

(Dan)
ブログを書く時にはつっこまれることを恐れないこと.叩かれて強くなる.「分からない」と言うことは恥ずかしいことではないし,就職にも絶対に不利にならない.

(Matz)
アウトプットを公開して,そのフィードバックをもらって,それをインプットとしてまたアウトプットを出す…という繰り返しをすることで人は成長する.その為の道具としてはブログは最適だと思う.


0 comments: