オンライン視聴者を含む延べ人数約15,000人が参加した「GitHub Universe」。そのほとんどがエンジニアなのかと思いきや、登壇者のリストを見てもわかるように、今ではNPOや自動車メーカー、NASAなど様々な企業やプロジェクトがGitHubをコラボレーションツールとして活用しています。これまでにGitHubが使われたプロジェクトの総数は、2,700万件に及びます。

2012年、世界有数のベンチャーキャピタル「Andreessen Horowitz」の共同ファウンダーであるマーク・アンドリーセン氏は、“Software is eating the world”と予見しました。それが今まさに、GitHubのような立役者のもとで現実のものになりつつあります。ソフトウェアが世界を食い尽くしていく。

「これからは、全ての企業がソフトウェア企業になり、誰もがエンジニアになる時代が来る」と話すGitHub CEOのChris Wanstrath（クリス・ワンストラス）さん。ご自身もエンジニアであるクリスさんに、彼が考える優れたエンジニアの条件、キャリアへのアプローチなどについて聞いてみました。

（※この取材は、クリスさんによる基調講演後、日本のメディアや記者が彼を囲んで行ったものです）

エンジニアとして大事なのは、常に生徒であり続けること

Q. 今でも自分でコードを書くことはありますか？

A. GitHubは大切過ぎて自分ではもう手を動かせない。

YESとNOだね。最近この話をちょこちょこしているけれど、プロダクションに使われるコードは一切書かない。コーディングすることの一番の難しさは、メンテナンスだと思ってる。常にサービスのスピードを保って、バグがない状態にしてセキュリティにも対処する。僕自身はもうそれが得意だとは言えないし、それを本業にする優秀なチームに任せている。

僕は、Atomのパッケージの一部をコーディングしたり、ワークフロー改善のために自分で何かを作ったり、Herokuのウェブサイトもあるけれど、基本は自分のためのコーディングしかしない。重要過ぎて、もうGitHubのコーディングはできないよ。

Q.優れたエンジニアの定義は？

A. コードを機械のためではなく人のために書けるかどうか。

何を優秀とするかは、そのエンジニアの仕事内容に寄る部分が大きい。でも、根幹にあるのは、優秀なエンジニアはコードは機械のためではなく人のために書くものだと理解していること。自分が書いたコードは、他の誰かが読むものなんだ。その事実を常に頭の中に入れて動けるかどうか。エンジニアに成り立ての若い頃は、最速のアルゴリズムを書いたり、超コンパクトなコードを書きたいと思ったりする。でも、2日後にそのコードを見返しても、それが何を意味しているのか理解ができなかったりする。それはコストでしかない。

優秀なエンジニアは、人と一緒に上手く仕事ができる人だと思う。僕たちが尊敬する、例えばFacebookのような企業を見てみても、彼らには素晴らしいエンジニアリング文化がある。その文化とその中にいる人をすごく大切にしている。エンジニアのソフトウェア開発への情熱を理解しているからこそ、それを守るための時間やお金をかけている。大切なのは、自分がチームの一員であることを理解し、コードは人のために書くものだというヒューマンタッチだと思う。

また、デザインこそ重要という考え方が広まって来た今、デザイナーとデベロッパーの境界線がどんどん薄れている。昔はデザインなんて後回しというのが常だった。中身を開発してから、外側を適当につけてもらって。この変化が人に与えているインパクトは大きい。何を作るのか、誰がそれを使うのかという全体像を見ることができるエンジニアは素晴らしいね。

Q.エンジニアは、そのキャリアに対してどんな風にアプローチするべきでしょう？

A. 常に生徒であり続けること。

僕が大切にしているのは、常に生徒であり続けること。エンジニアになって何かすごいものを作ると、それに興奮して学ぶことをやめてしまう人がいる。僕もかつてはそうだった時期があったからわかる。でも、就職してエンジニアリングの仕事を始めることは終着点じゃなく出発点。だから、作っては学ぶことを続けなきゃいけない。

企業もまた、それができる環境を用意すべきだと思う。大手企業にGitHubを使ったソフトウェア開発のワークフローを見せてもらうことがあるけれど、何かを見直したり新しいものを修得する時間を設けていないことが多い。本来、「学習」はすべてのプロセスに組み込まれているべきものだ。

エンジニアは、コーディングしている時間の一部を必ず新しいことを学んで吸収する時間に確保すべきだよ。新米だろうがベテランだろうが関係なく。毎日Eメールを読むように、バグ修正をするように、コーヒーを飲むように新しいことを学ぶ。学ぶことは、そもそも人間であることの醍醐味だと思ってる。

ソフトウェア業界の変化は本当にめまぐるしくて、僕が10年前にやっていたことなんてとっくに時代遅れ。1年前のことすら既に時代遅れかもしれない。だからこそ、自分で意志を強く持って取り組まなきゃいけないし、常に自分で自分を奮い立たせなきゃいけない。優れたソフトウェアエンジニアは、学び続けることができる人だと思う。

オクトキャットも大事、でも当事者であることがもっと大事

Q.GitHubと言えば、その濃いコミュニティが特徴です。それを作る上で大切だったことは？

A.自分たちが当事者であること。

僕たちも、GitHubの一部であることだね。僕たちもそこに参加している。認知を高めてユーザーを増やすために広告を打ったり、カンファレンスをスポンサーしたりした。でも、濃いコミュニティができた最大の理由は、僕たちがその一部であることだったと思う。カンファレンスの場にも足を運ぶし、時には講演をするし、オープンソースのプロジェクトにも一緒に取り組む。

GitHubが特別なのは、それがGitHubを心から愛する人たちによって作られているからだと思う。これ自体は別に珍しいことではないかもしれないけれど、作り手もみんなGitHubを使っているし、そのコミュニティを愛しているし、GitHubをより良くすることに貢献したいと思っている。自分の居場所や、今やっている大好きなことが、コミュニティの役にも立つなんて最高だよ。オクトキャットのTシャツを作って配布するのもいいけれど、何より、自分も当事者としてそこにいること。これに尽きると思う。

Q.GitHubというコミュニティを作る上でオクトキャットは欠かせないものですか？

A. もちろん、すごく大事。

今はあちこちに登場するオクトキャットだけれど、初期の頃は404のエラーページにしか登場しないキャラクターだった。オクトキャットを取り入れた理由はシンプル。新米エンジニアでもベテランでも、新しいことを学ぶのは常に怖い。でも、仮に何かを壊してしまっても、笑顔のネコのキャラクターが迎えてくれる。仕事に対して僕たちは真剣だし本気だけれど、だからといっていつも真面目でなきゃいけないわけじゃない。それってすごく大事なこと。

基調講演のステージでも言ったように、エンジニアの大半は毎日コンピューターに向かって、GitHubを使ってコーディングをしている。そんな毎日の中でも遊びたいし、笑いたいし、仕事を楽しみたい。オクトキャットは、それを上手く体現してくれていると思う。それに、オクトキャットって別に誰にも似ていないでしょ？だから逆に言うと、誰にでも似ることができる。みんながオクトキャットにちょっとでも自分を重ねられるといいなと思う。

オクトキャットは、GitHubのブランドにとってすごく大きな存在だし、GitHubを楽しくて他とは違う特別なものにしてくれている。ミスをしたっていいんだ、そこからちゃんと立ち上がれば。オクトキャットがそういうメンタリティにさせてくれているところがあるんじゃないかな。

誰でもエンジニアになれる世界を目指す

Q.エンジニアとして、周りに目指したいロールモデルはいましたか？

A. ビル・ゲイツが雑誌の表紙を飾っているのを見て、僕にもできるかもと思えた。

僕は、世界がビル・ゲイツのような人物について盛り上がっている時代に育った。彼のようなエンジニアが雑誌の表紙を飾って、90年代に誕生した巨大企業が常に話題になる時代だった。だから、ロールモデルは沢山いたよ。

世界で一番のお金持ちがエンジニアだと知った子どもがいたとして、その人が自分と同じ髪の色や目の色をしているのを見たら、「ってことは、僕にもできる？」と思えるかもしれない。今ある大きな課題の一つは、今の若い人にとってそういう存在がいないことだと思う。でも、認知されていないだけで、実際には目指したくなるようなエンジニアは大勢いる。だから、みんなにとってそういう存在が見つかるようにしていきたい。

Q.プログラミングを学ぼうとする人たちに対して、GitHubは今後どう貢献していきますか？

A. 学び方は人それぞれ、できるだけ多くの選択肢を提供したい。

次世代のエンジニアは、きっと今のエンジニアとは全く違うものになる。きっと使うツールも違う。GitHubがまさにそうで、2008年にGitHubが登場するまで、GitのワークフローはEメールベースだった。でも、僕を含む新たな世代にとっては、Facebookみたいなメッセージボードが当たり前だった。だから、Gitのワークフローを、メールからみんなが慣れ親しんだFacebookやTwitterのやり方に変えたんだ。

例えば、学生に対して最高の開発ツールを無償提供する「Student Developer Pack」や、先生が授業の履修コースやシラバスをGitHubを使って管理できるオープンソースプロジェクト「Classroom」などを始めてる。学生に教える立場にある先生にも、GitHubを使えるようになってもらう。その他にも、「Black Girls Code」や「Code Academy」などとパートナーシップを組んで、コーディングを学ぶことをより身近なものにするための活動をしている。

僕自身がコーディングを学ぶことに何度か挑戦して挫折したから。本を買ってみたけれどダメだと諦めて、次にビデオで学ぼうとしたけれど、つまらなくて続かなかった。結局、オープンソースで人と一緒にコーディングすることで、コーディングに目覚めたんだ。人にはそれぞれに合った学び方があるから、なるべく多くの選択肢を提供したい。プログラマーという職種は、世界にインパクトを与えられる素晴らしい仕事だし、もっと多くの人が挑戦できるようにしていきたい。

Q.GitHubのCEOとして目指す究極のゴールは？

A.誰でもエンジニアになれるようにすること。

人間が発明したものの中で、ソフトウェアは一番最強のツールだと思う。僕たちにはまだその可能性の全貌が見えていない。でもそれには、世界中の誰もがアクセスできるようにするべきなんだ。その人がどこに住んでいて、どんな人生を歩んで来て、子どもの時に高性能なコンピューターを持っていたかどうかなんて関係ない。誰もが自分の人生の舵取りができるようにするべきで、これからの時代、それを可能にするのがソフトウェアだと思う。

だから、僕にとっての長期的ゴールは、誰もがそのエコシステムに参加できるようにすること。そしてそのエコシステムをサポートすること。ソフトウェア業界には沢山のお金が集まっているし、人が雇用を生んだり、コーディングを学んだりすることを後押しできる。ソフトウェア開発を誰もが選べる選択肢にすること。

テクノロジーが増える分だけ、人間らしくなれる

GitHub Universeの幕開けとなった基調講演の中で、クリスさんが話していたことが印象的でした。世間では、テクノロジーの普及によって人の居場所が奪われることを懸念する声があります。でも、それは違うと。

「20世紀は、ハードウェアが主役だった。21世紀の主役は、人だと思う。人類は、テクノロジーを取り入れれば取り入れるほど、人間らしくなることができる。なぜなら、そのテクノロジーやソフトウェアは、どれも人が作るものだから」

より多くの人にとって、プログラミングという手段を習得する機会を提供する。GitHubが掲げるこの長期的ゴールが現実のものになれば、そう遠くない将来、1億人のエンジニアがいる世界が誕生するのかもしれない。そして、その一人一人が1行ずつ、また別の誰かのためにコードを書いていくことで、人とテクノロジーが上手く共存する世界が実現するのかもしれません。

GitHubは、今年頭にアメリカ国外で初めてとなるオフィスを東京に開設しました。現地のコミュニティとしっかり向き合い、共にGitHubという最良のコミュニティを作っていくとのこと。既に世界中に社員を抱えていますが、常に人材募集しているそうなので、詳細は募集要項のページをご確認ください。

クリスさんによるオープニング基調講演は以下の動画をどうぞ。日本の国土地理院が登壇したGitHub Universeのセッション「Changing Lives with Open Data」のレポート記事も併せてご覧ください。