Vol.109

小飼弾×増井雄一郎が大激論! 開発者「大増殖時代」の到来で、プログラマーの存在意義はどう変わる?

  • Facebookシェアボタンシェア0
  • このエントリーをはてなブックマークに追加ブックマーク0
Appcelerator, Inc. Platform Evangelist 増井 雄一郎氏 (@masuidrive)  大学時代に起業し、2003年フリーランスとなり、Ajax、Ruby on Railsなどを使ったWebアプリ開発や執筆を行う。2008年に渡米し、中島聡氏とともにアプリ開発会社を起業。2010年に帰国し、アプリSDK『Titanium Mobile』の伝道師として活躍。ブログ『@masuidrive blog』でも情報発信を行う

写真左:Appcelerator, Inc. Platform Evangelist 増井 雄一郎氏 (@masuidrive
大学時代に起業し、2003年フリーランスとなり、Ajax、Ruby on Railsなどを使ったWebアプリ開発や執筆を行う。2008年に渡米し、中島聡氏とともにアプリ開発会社を起業。2010年に帰国し、アプリSDK『Titanium Mobile』の伝道師として活躍。ブログ『@masuidrive blog』でも情報発信を行う

写真右:アルファブロガー小飼 弾氏 (@dankogai
元・ライブドアCTOで、現在ではブログ『404 Blog Not Found』のアルファブロガーとして知られるスーパープログラマー。1969年生まれ。米カリフォルニア大学バークレー校中退。1996年設立の個人資産管理会社ディーエイエヌ有限会社の代表取締役でもある

Webサービスやスマートフォンアプリの隆盛、プログラミングを簡易化する各種フレームワークの普及……。ここ最近、文系学生が就職の武器としてプログラミングを学ぶほど、「創る人」の数が増えている。

とりわけフロントエンドで顕著なこの傾向。「1億総Webアプリ開発者の時代が来た」といったような過激な記事も出始めている中、IT・Web業界ですでに仕事に取り組むプログラマーの役割はどう変わっていくのか。

「コードが書ける」こと自体が付加価値ではなくなりつつある今、プログラマーの存在意義はどこに置かれるようになるのか。

そんなテーマについて話してもらうため、豊富な見識を持つアルファブロガー小飼弾氏(写真右)と、アプリSDK『Titanium Mobile』の開発者として知られ、最近はRubyでネイティブのiOS/Androidアプリを作成できるフレームワーク『MobiRuby』を発表した増井雄一郎氏(写真左)に集まってもらった。

対談場所は、小飼氏の厚意でご自宅に。リラックスムードながら核心を突く2人の言葉から、時代が変わり続けても一流の開発者であるための生き方を探る。

―― まず、昨今のプログラマーが置かれている現状について、お2人はどうお考えですか? フレームワークやSDKなど、開発ツールが充実するにつれ、コードを書くシーンは減ってきているように思いますが。

小飼 おそらく、同様のプロダクトを作成するのに書き下ろさねばならないコード量は、以前の100分の1程度にまで減っていると思います。しかし、プログラマーがコードを書く仕事自体が減っている、ということはないでしょう。コーディングできるプログラマーがほしいというビジネスシーンが、以前の1万倍に増えているからです。

増井 需要の拡大は、僕も現場で強く感じますね。

小飼 つまり、プログラマーに対する需要は100倍になっている。現状では、SDKやフレームワークの台頭がプログラマーの雇用を食うというところまではいってないんじゃないかな。

―― なるほど。ただ、とりわけWebサービスの開発チームを取材させていただく中で、さまざまなフレームワークを使って省力化を図っているケースが以前よりも格段に増えたという印象があります。それがいずれ、プログラマーの雇用にも影響を及ぼすのでは、と。

小飼 まぁ、わたしや増井さんが開発したフレームワークやライブラリによってプログラミングの省力化が図られて、1万人くらいのプログラマーが仕事を失ったかもしれません(笑)。それでも多くのプログラマーの職を奪うところにまで及んでいないのは、今お話した「新しい別の需要」がどんどん発生しているからですよ。

「ネット社会が生んだ呪い」がプログラマーを苦しめる!?

プログラマーが求められる「新しい需要」によって、仕事は増加し続けていると語る2人
プログラマーが求められる「新しい需要」によって、仕事は増加し続けていると語る2人

増井 そうですね。歴史を振り返っても、どんな産業も自動化されるものは最終的に何でも自動化されてしまいます。フレームワークや開発自動化ツールで代えが効くものは、いつかはそれらに置き換えられていきますが、そうでない場面も非常に増えている。

―― お2人がおっしゃる「新しい別の需要」とは?

小飼 例えば、あるWebページのパーツの色調整なんかは、以前より一段と大変になっているなぁと。それに、一昔前までは、システムなりサイトが動いた時点が「完成」だったでしょ? でも今は、動いてからが仕事の始まり。UIやUXを考えて、色はどうしよう、ページとページのトランジションはどうしようなどと、複雑なコーディングを必要とするインタラクションは本当に増えました。

増井 そうですよね。前は、一度リリースしたものはもうイジれないという前提がありました。それが最近は、ネット上で公開したものは、継続していくらでも改良できるという考えが一般的になりつつある。この変化はすごく大きいと思います。

小飼 「いつでも直せる」というのは、「いつでも直さなきゃいけない」ということの裏返し。プログラマーにとって、諸刃の剣みたいなものなんですけどね。まさに、ネット社会が生んだ呪いですよ。

増井 小飼さんも「呪い」という言葉を使われるんですね(笑)。僕も手離れの悪いプロジェクトのことを「呪われる」と呼んでいます。

小飼 コードを書いて、「動いた、はい完成。これで僕の仕事はおしまい」という風になりにくいのです。

開発者たれ。作業者はこれから淘汰される

―― 開発環境の高度化が進み、非プログラマーがプロダクト開発に参入する障壁が低くなっています。それがもっと進めば、お2人のようにフレームワークやプロダクトを作る”開発者”と、決められたコードを生成するだけの”作業者”の2極化が進んでいくのはないか、という仮説も立てられます。

小飼 増井さんは、昔に比べて”開発者”と”作業者”をきれいに分業できるようになりましたか? 例えばライブラリを作る人と、それを使う人みたいに。

増井 一時期分業を目指した時期もありました。でも、現実問題として、完ぺきに棲み分けされることはありませんでしたね。例えばRuby on Railsを使って開発を進めていると、確実に本体の方にも手を入れる必要が出てきます。

Googleなどで「知識のオープン化」が促進されたことで、単なる作業者が稼ぐのは難しくなると小飼氏は言う
Googleなどで「知識のオープン化」が促進されたことで、単なる作業者が稼ぐのは難しくなると小飼氏は言う

小飼 そうですよね。ただし、これまでも”作業者”として仕事をしてきたプログラマーにとっては、「稼ぐための職業」という意味で、より厳しい状況になっていくのは間違いない。今って、ちょっとググれば、深い部分まで突っ込まなくてもひとまずプロダクトを作れますから。

増井 これから、その流れはさらに強まるでしょうね。スタイルシートは一応使えるんだけど、きちっと理解しているわけではないっていう人、増えてますからね。HTMLは使えるけど、XMLは理解していないとか。本来ちょっとおかしいんだけど、その人たちも今は食えています。

小飼 僕は、プログラマーには「現場寄り」と「理論寄り」の2種類の人間がいると思っているんですよ。例えば、HTMLが使えればいいやって言う人は「現場寄り」で、HTMLを使うならXMLも勉強しておかなきゃと思う人が「理論寄り」。増井さんのお話では、「現場寄り」のスキルだけ身に付けてプログラマーをやっている人が増えているということですよね。

「続けること」と「プロになること」。それぞれに課題がある

―― そういうプログラマーの台頭で、これから生存競争も激しくなっていくのでしょうか?

小飼 そうかもしれないし、そうじゃないかもしれない。そもそもこういう現象って、さっき増井さんも言っていたように、どの業界でも起こってきたことなんです。業界の黎明期というのは、それをやっているというだけでお金をくれる人がいます。しかし、業界が成熟していけば、開発手法も効率化されていくし、技能だけでは評価されなくなっていく。

増井 そうですよね。

小飼 だから、業界の黎明期からいる人にとっては「続けること」が課題となり、これから入ってくる人にとっては「プロになること」が課題になる。

Googleなどで「知識のオープン化」が促進されたことで、単なる作業者が稼ぐのは難しくなると小飼氏は言う

増井 黎明期からいる人たちが長く続けていくために、僕は20年ぐらいの周期で訪れる大きなパラダイムシフトを越えられる力が大事になると思っています。インターネットが普及し始めたことで、プログラマーに求められる知識も変わっていったように。

小飼 確かに。でも、一番大事なのは、本人が開発者として続けたいか、それとも辞めたいかじゃないかな。プログラミングがホントに好きな奴は、「パラダイムシフトなんてクソくらえ」の意気込みで新しい言語を覚えて、続けていくじゃないですか。

業界の高度化により、技術選択の過渡期へ突入

―― パラダイムシフトのお話が出ましたが、今はその「シフト」の流れの中でどんなフェーズだと?

小飼 インターネットが登場した時ほど大きな変化じゃないけど、メイン端末がPCからスマートフォンやタブレットに変わりつつあるのは大きいよね。それと、いよいよ開発言語の淘汰が進んでいるように思う。特にクライアントサイドで「稼げる言語」はどんどん減ってきているというか、淘汰圧がかかっています。ノーチョイスなわけです。

“宗教戦争”となりがちな言語論争だが、2人は私見と経験知を元に「今後も稼げる言語」を語り合う
“宗教戦争”となりがちな言語論争だが、2人は私見と経験知を元に「今後も稼げる言語」を語り合う

増井 そうですね。あくまでも私見ですが、クライアントサイドで残りそうなのはJavaScriptかJava、Objective-C/C++の3択です。あと、もちろんRubyも、ですね。

小飼 僕はJavaもどうかと思っているけど。Androidアプリの開発って、なかなかお金になりにくいでしょ。まぁ、ここまで普及し切っていると、突然「過去の言語」になることはないでしょうけど。逆に、サーバサイドは自由度が増しています。

増井 データベースもそうですよね。MySQLをやめて、MongoDBとかNoSQLみたいにほかのを選択することができるようになってきた。ただ、サービスが作りたいだけでプログラミングはそれほど好きじゃない人にとっては、選択肢がない方が楽なんです。

―― なぜですか?

増井 やることが決まっているから、あとは時間をかけて勉強するだけなんですよ。

―― それが良い・悪いはさておき、言語やフレームワークの選択肢が絞られてくると、プログラミングの基礎がない人でもコードが書けるシーンが増えますよね。それが、「プログラミング好きなプログラマー」の身をおどかすような流れにはなりませんか?

増井 でもわたしは、やっぱりプログラマーとしての基礎力がないと、パラダイムシフトが起こった時に乗り越えられないと思います。おそらく3年から5年ぐらいは、それでも食っていけますが。

小飼 増井さんの指摘は至極ごもっともなんだけど、だからといって「jQueryから入った人も今すぐほかの言語構造から学び直さなきゃいけない」って話じゃないと思うんですよ。そういうのは、実際壁に当たってから考えればいいわけで。コードを書くことより、サービスを作るのが好きだという人は、「基礎が大事だよ」って言われてもピンとないはずですから。

増井 これはもう、シコウ(志向|思考|嗜好)の問題かもしれないですね。確かにどっちが良い・悪いという話じゃない。

「恥を捨てる」、「言い出しっぺの法則」で壁を突破する

―― ちなみに増井さんは、過去にぶつかった「壁」をどのように乗り越えてきたんですか?

増井 人のソースコードを読んだり、本を読んだりしながら学んできました。本に関しては、とにかく「基礎の本」を読みますね、構造から知る意味でも。C言語をやっていた時はドラゴンブック(※編集部注:『コンパイラ―原理・技法・ツール』のこと)を読んで、そこからさかのぼって基礎的な技術を学んでいました。 

小飼 Rubyで有名になり始めた時はどうしてたの?

増井 メーリングリストでコミュニティーに聞いたり、アポイントを取って実際に書いてる人に会いに行ったりしてましたね。

小飼 今の増井さんの話に、長く第一線で活躍する開発者の条件が隠されていますよ。それは、「恥を知れ」という言葉を知らないということ(笑)。分からないことはどんどん人に聞けばいいんです。いわゆるデキるプログラマーって、一見偉そうに見えるかもしれないけど、みんなそんな大した仕事をしてるわけじゃないんだから。

増井 自分が昔メーリングリストに投げたメールを見ても、相当恥ずかしい質問をしていますね(笑)。それにわたしの場合、そこでのやりとりが、後々仕事につながったりもしています。Titaniumの開発メンバーになるきっかけも、実際にオープンソースに参加しながら「ここが使いにくい」、「よく分からない」とケチをつけているうちに、「だったらお前がやれ」となった。

小飼 あ、長生きする開発者の条件その2に、「言い出しっぺの法則」というのもあるね。そういう人に仕事が集まってくる。

「この業界には、増井さんのような一流の趣味人が必要」

増井 その法則があるからこそ、コミュニティーではみんながけん制し合って、誰も修正点を指摘しないという現象も起こってしまうわけですが(笑)。

小飼 文句があるということは、そこにマーケットがあるということなんです。それでも誰も手を上げないのは、フレームワークを改良したところで、お金にならないケースが多いから。JavaScriptなんて、本当は誰かが整理しないともうダメなのに、掛ける労力に見合った報酬は得られないでしょう。Rubyのような形で普及していったケースは希少ですよ。

まつもとゆきひろ氏が主導してリリースされた組込み向け軽量Ruby『mruby』をもとに、増井氏が自作した『MobiRuby』
まつもとゆきひろ氏が主導してリリースされた組込み向け軽量Ruby『mruby』をもとに、増井氏が自作した『MobiRuby』

増井 そうですね。僕自身がそうですが、過去に作ったフレームワーク自体が商売になっているわけではありません。だから労力を割きにくい。こないだ発表した『MobiRuby』も、趣味で作っています。

一応、Titaniumとの兼ね合いがあったので(Appceleratorの)社長に確認を取ったら、「作ってもいいよ」と言われたのですぐに始めたんです。これ自体は商売にならないので、自分の技術的興味と、自己PRを兼ねて作っています。

小飼 この業界にはね、増井さんのような一流の趣味人が必要なんですよ。仕事だけの人だけだったらつまらない。

―― 自分の好きな開発に取り組むだけでは食っていけない状況がある中で、プログラマーはこれからどのような道を志向すべきでしょうか?

小飼 それを考える上で一つの指標になるのは、「中島聡になれる人と、そうじゃない人」の違いを知ることじゃないかな。

小飼・増井対談

中島聡になるには、人並みならぬ「好奇心」とある「幸運」が大事

増井 あ、そのたとえは分かりやすいですね。

小飼 中島さんとは何度かお会いしたことがあるし、著書の『おもてなしの経営学』は好きな本の一つなんですよ(※編集部注:小飼氏の書評はブログ参照)。

―― 弊誌の連載では、今も「気分が乗ってくると朝4時に起きてプログラミングしている」とおっしゃっていました。

小飼 それと、もう一つ大事なポイントがあります。中島さんがああやって好きなことを仕事にしていられるようになったのは、古川(享氏。元・日本マイクロソフト会長)さんのような希有なプロデューサーと出会えたからだと思うんです。中島さんの知的財産を現金化して既得権益を確保し、世の中にインターフェースする存在が古川さんだった。そういう理解あるプロデューサーに恵まれないがために、世の中に出られないプログラマーは非常に多いですよ。

―― では、キャリアの選択肢としても、開発者であり続けることと、プロデューサーになる道の2つがあるのでしょうか?

増井 仮に両方できる才能があっても、プロデューサーをやろうと思うプログラマーは少ないんじゃないですか。小飼さんを見ていても、プロデューサーの仕事は難しそうですよね。

小飼 中島さんのような一流のプログラマーになるのが相当難しい反面、プロデューサーになるのも同じくらい大変。プログラムを書くことより、人を育てるのが好きじゃないと務まらないからです。わたしも昔、CTOをやっていたライブドア時代はプロデューサー的な仕事をしていたけれど、本心ではプログラマーでありたいタイプですよ。

増井 なぜですか?

小飼 今は、幸いなことに金銭的なインセンティブで動かなくても良くなったから。わたしの経験上、プロデューサーの仕事は、金銭的インセンティブが動機付けになることがほとんどじゃないかな。

―― 仮に、プログラマーがプロデューサーになる道を選ぶとしたら、どのような資質が必要なのでしょうか?

小飼 やり方の一つは、「俺が良いものを作る、だからおまえも続け」です。でも、それではマイクロソフトやグーグルのような組織は作れません。自分よりも優秀なプログラマーを動かせないとダメですから。その優秀さを見極めたり、彼らをマネジメントをするためにも、自分も一流か一流半くらいの開発者であることが求められる。きっと、コードを書くことも、人を育てることも、どっちも好きじゃない人がSEになるんじゃないかな(笑)。

“不満ドリブン”で作り続けるのも、息の長いプログラマーになるコツ

同じ「プログラマー」でも、ある2択によってその後のキャリアが変わってくるという小飼氏の言葉に、増井氏もうなずく
同じ「プログラマー」でも、ある2択によってその後のキャリアが変わってくるという小飼氏の言葉に、増井氏もうなずく

―― 今のお話の流れで言えば、プログラマーが長く職業人としてやっていくには、「コードか人のどちらかが好きである」という前提が大切になるわけですね。

小飼 はい。さらに付け加えると、「コードが好きな人」も2種類に分かれます。書くまでのプロセスが好きな理論派と、モノが動くのが好きな人。後者は、仕組みが分かっていなくても動けばいい。そして、後者の方が絶対的に数は多いです。逆に前者は、理論として「できる」と分かった時点で満足してしまう。

増井 完成させられないんですよね。ロジックができても、ビューを作るのは時間がないし面倒とか。

小飼 わたしはどちらかというと理論派。でも、人に説明する時は動くものを見せないと分かってもらえないから、ある程度までは作るわけです。

増井 僕も理論派の部類に入るかもしれませんが、バランスを取りながらやっています。自分のやりたいこと、考えたことを「masuidriveの作りたい物&試作品リスト」にしてWebで公開しているんですが、半分ぐらいはすでにデモがある状態です。

小飼 ただでさえ忙しいのに、やることばかり増えて大変だよね。

増井 そうですね。今も寝ているとき以外は、ほとんどコードを書いています。

小飼 そういう性分だと、移動中なんかがプログラミングする一番ベストな時間だったりするでしょ?

増井 あ、そうなんですよ! 実は『MobiRuby』も、アメリカから飛行機で移動する14時間で、ある程度書いてしまいました。

―― お2方のお話を聞いていると、強烈にやりたいことがない人は、プログラマーとして何かを企画したり、サバイバルしていくのが難しい気がしてきました……。

世にはびこる「やりたいことをやるべきという幻想」に対して、的確なアンチテーゼを投げかける小飼氏
世にはびこる「やりたいことをやるべきという幻想」に対して、的確なアンチテーゼを投げかける小飼氏

小飼 いや、実際はそんなことないんですよ。やりたいことがない人も、「もっとこうなってほしいのに」と思うシーンって多々あるでしょ。そういう、”不満ドリブン”で開発し続けるという道もあるわけですから。

増井 そうですよね。僕が「やりたいことリスト」の話をすると、「わたしにはやりたいことがなくって……」と相談してくるプログラマーも少なくないんですね。でも、不満やもったいないという気持ちがアイデアのベースになっていることは、僕もけっこうあります。

小飼 人様にやらせたくないことを、やらせないようにする。世の中、プログラムで改善できることはとても多いんです。だから、「良い仕事がない」なんて言っているプログラマーがいたら、それは嘘。そういう人が大事にしているのは、作ることじゃなくて結局「給料がもらえるかどうか」なんですよ。

これからは「人が見えるところで遊ぶ」ことが一流になる近道に

小飼 それに、報酬という意味で考えても、本当はプログラミングが好きな人の方が嫌々やっている人よりも得するんです。増井さんのように好きなことをやっていると、それができたこと自体が報酬になって、損益分岐点が低くなるから。

増井 プログラミングが好きな人って、無駄に働きますよね(笑)。

小飼 そう。そこが一番大切で、好きだからあっちへふらふら、こっちへふらふらしながら、知らないうちに技術力が高まっていく。そして、次第に大きな仕事も任されるようになっていくんですよ。お金だけがモチベーションの職業プログラマーよりも、数倍コードを書いているわけですから。

小飼氏の自宅対談の記念に、同伴していた増井夫人(左から2人目)と小飼氏の奥さま(右端)も交えて記念撮影
小飼氏の自宅対談の記念に、同伴していた増井夫人(左から2人目)と小飼氏の奥さま(右端)も交えて記念撮影

増井 効率を考えて最短距離で行こうとする人よりも、僕みたいなタイプは効率が悪いと思います。でも、そうやって社外のオープンソースプロジェクトなどに参加することで、言語の良しあしが分かったり、GitHub内での評価が高まったりします。

実際、Titaniumの開発メンバーとしてAppceleratorから声をかけられた理由の一つは、「社内の誰よりも、GitHubのフォロワー数が多かったから」と言われました。

小飼 これからの時代、プログラマーをやりたい人にとって、GitHubアカウントを持たなくて済むのは小学生までとなるでしょう。

増井 あはは(笑)。

小飼 でも、これはけっこう真面目な話で、ソーシャルグラフってお金では買えないじゃないですか。だから、どこにいてもお声がかかるようなプログラマーになるためには、増井さんのように「人が見えるところで遊ぶ」のが大事になるんです。それが呼び水となって、仕事も最新技術も得られるようになっていく。

―― 「遊ぶ」ことがキャリアにつながるというのは、小飼さんらしいエールですね。

小飼 そもそも、開発を商売にしている人たちは、フツーにしていちゃダメなんです。プログラマーにとって、「普通だね」という言葉はdisり以外の何物でもない。だから、人前で思いっきり遊ぶべきなんですよ。

―― 今日は貴重なお話をありがとうございました。

小飼氏の自宅対談

取材・文/岡 徳之、萩原伸悟(ともにtadashiku,Inc.) 撮影/竹井俊晴

この記事が気に入ったらいいね!しよう

エンジニアtypeの最新情報をお届けします
  • Facebookシェアボタンシェア0
  • このエントリーをはてなブックマークに追加ブックマーク0

RELATED POSTS関連記事

JOB BOARD編集部おすすめ求人

この記事に関連する求人・キャリア特集

  
 @type新規登録キャンペーン
記事検索


インターネット・ビジネスサービス株式会社 【ITエンジニア】副業支援/…

日産自動車株式会社【ポジションマッチ登録】 オープンポジション

株式会社東日本技術研究所 エンジニア(SE・PL・PM)/40・50代も多数活…

株式会社コロプラ【ポジションマッチ登録】 オープンポジション

株式会社ドワンゴ【ポジションマッチ登録】 オープンポジション

市光工業株式会社 【品質管理】創業110年以上の老舗メーカー◆自動車のラ…

山下ゴム株式会社 生産技術【未経験・第二新卒歓迎】万全の研修&サポー…

日清食品グループ(日清食品株式会社) 製造オペレーター(スタッフ~係長)…

サッポロビール株式会社 【生産技術担当】サッポロブランドを生産技術から…

市光工業株式会社 【機械設計】創業110年以上の老舗メーカー◆自動車のラ…

英文メールでよく見る「略語」の意味は? 海外エンジニアに聞い...

「クオリティー最優先」 CygamesのCTOが説く“ヒット...

データアナリストになる方法~コンサル型かエンジニア型か?ビッ...

「みんなは起業にビビリすぎ」堀江貴文氏×村口和孝氏が語る学生...

なぜ、いまだ7割のITプロジェクトが失敗するのか? 「再生人...

>>過去のエンジニアtypeのページはこちら