元米マイクロソフトのソフトウェアエンジニアが教える「エンジニアになりたいなら知っておいた方がいいコト!」

高校時代から伝説のアスキーでバイトをし、大学時代は自作ソフトで億り人に。その後マイクロソフトの日本法人立ち上げに参加し、ビル・ゲイツの働きかけで米マイクロソフトでWindows95を作った伝説のエンジニア中島聡氏。彼がどのような子供時代をすごし、ソフトウェアエンジニアになったのか、そしてソフトウェアエンジニア、起業家になるためのアドバイスを伝授します。

2022年8月26日にレッドインパルス×シンギュラリティ・ソサエティ共同で「学生生活を豊かにするサービス」をテーマにハッカソンを開催しました。
そのオープンニングディスカッションの模様を公開します。

子供の時から趣味が理科と算数

司会:今日はよろしくお願いします。

中島氏:よろしくお願いします。

司会:まず一つ目から伺っていきたいと思います。エンジニア観点で、大学以前に学生時代にやっていたことを、お伺いしてもよろしいでしょうか?

中島氏:どのくらい遡ったらいいのかな?

司会:小学校とか中学校とか、そのくらいからでも構いませんので。

中島氏:そもそも小学校の高学年ぐらいから理科と算数が好きで、例えば学期の始まりに新しい教科書をもらうと、真っ先に全部読むということをしていました。多分中学に入ったときかな?理科年表とかいうのをもらったけど、それもボロボロになるまで読みつくしました。あと、中学生のときに先生に勧められてNHK3チャンネルの通信高校講座というのをテレビで見るような、生活をしていました。だから、本当に趣味が理科と算数。途中から数学だけど。本当に大好きで、ずっとそういう感じでした。

司会:理系の科目がすごく好きだったんですね。

中島氏:でも、その代わり国語とか漢文とか古文とか大嫌いで、いかに手を抜くかというのは工夫してました。だから、高校の授業とかも多分、漢文とか古文の時間は先生の話を聞かずに、数学の問題を解いたりしてたと思います。

司会:そうなんですね。興味がある分野については自分からのめり込んでいくみたいな。

中島氏:幸いなことに、高校が早稲田の付属だったので受験の心配はなかったので、割とのびのびと勉強できました。

プログラミングに最初に出会ったのは?

司会:プログラミングという意味だと、大学生以前から触れる機会や場面はあったんですか?

中島氏:最初は、確か高2だったと思います。自分ではんだ付けして作らなければいけないパソコンですけど、それを手に入れてアセンブラでプログラミングして、ゲームとか作ってました。

司会:組み立てるところから。すごいですね。

中島氏:今で言うRaspberry Piぐらいの感じですよね。Raspberry Piは、はんだ付けで組み立てなくていいけど。プログラミング環境とかいう意味で言うと、Raspberry Piよりもちょっと不便かな。そんな感じでした。

司会:それはパソコンを組み立ててみようとか、アセンブラをやってみようみたいなきっかけがあったんですか?

中島氏:僕がすごい理系の少年ということを知っていたうちのおじさんが、雑誌に載ってたパソコンの記事を切り抜いて送ってくれました。君に合ってるよみたいな話で。

司会:そうだったんですね。学生時代は、本当に好きなものに取り組んでいたという感じなんですね。

中島氏:そうです。高校でプログラミングを書き始めて、すぐにプログラミングのバイトが始まったんです。アスキー出版という出版社で。今、角川の一部になってあまりプログラムとかやってないけど。アスキー出版は、パソコン雑誌の出版社だったけれど、いろいろソフトウェアを作るという商売もしていたので、そこでアルバイトを始めました。学校が終わると真っ直ぐアスキーに行き、毎日、本当に部活のようにアスキーでプログラミングを書いていました。高校時代はずっと。

プログラミングは独学と実践で身につける!

司会:高校生のときからされてたんですね。すごいです。大学生以前から、そういった技術に携わっていたということなんですが、大学入学されてからエンジニアとしてやっていたことをお伺いできればと思います。

中島氏:大学も、基本的な勉強は理系の大学に入ったので割と面白かったので、そつなくこなしていました。でも、バイトだったり、途中からバイトじゃなくて自分でプログラムを書いて、それでロイヤリティで稼ぐみたいなことを始めたので、そっちにすごく時間を使っていました。大学時代は。

だから、あまり大学でプログラミングを学んだ経験はないです。一応授業であったけど、既に高校生の頃から学んでたこと以上のことは、何も教わらなかったので。僕の頃だったら、FORTRANとかPL/Iとか、Pascalもすこしあったかもしれないけど、でも、僕はそもそもアセンブラから始まってたし、バイトではCとかC++かな?バイトでやっていることの方が、学校で学ぶよりもはるかに進んでいたので、プログラミングに関してはほとんど学ばなかったです。

そうは言っても例えば半導体の話とか、物理の話とか、そういうのは面白いから勉強はしました。底力にはなったけど、実際その後のソフトウェアエンジニアとして役に立ったかというと、そんなに役に立たなかったかもしれないです。

キャリア的に言うと、その後で大学院行ったり、就職したり、ビザ取ったりというのには、大学、特に大学院を卒業したことはすごく役に立ちました。役に立った理由はどちらかというと社会的構造。例えば日本からアメリカのビザを取るときに理系の大学院ぐらい持っていないと、なかなか取りにくいという状況があったので役に立ちましたけど、仕事をする上で役に立ったかというと、全然役に立っていないです。全然って言うと申し訳ないかな。でも、ほとんど役に立ってないです。特にソフトウェアに関しては。ハードウェアに関しては役に立ってるけど。

司会:そうですよね。専門学校ではないので、そこで知識を得るというよりも自分で行動して、知識を身につけたということですね。

中島氏:大学は、基本的に基礎的な話が多いから。大学院になったら、すこし変わりましたけど。大学院になると研究室も選べたので、自分でコンピューターを作って、スーパーコンピューターではないけど、マルチプロセッサーという、CPUを複数持ったコンピューターを使い、難しい問題を解くみたいな研究をする研究室に入りました。そこでハードとソフトと両方を作ったので、すごく実質的な勉強にはなりました。

司会:大学院まで行けば研究的な領域に入るので、キャリアに役立つところもあるという感じですか。

中島氏:そうですね。でも、結局先生は教えられないんです。その辺になると、自分で作ることによって学ぶしかなくて。今でもそうじゃないかな? なかなか先生が教えるのは難しいですね。

司会:プレイヤーと教えることは、またすこし違いますもんね。得意不得意が。

中島氏:特に最新の技術は、どんどん変わってくるから。

大学院に行くのがいいのか?インターンやベンチャー企業で働いた方がいいのか?

司会:大学と学生生活とエンジニアとしてのキャリアの両立という関連で言うと、結構最近休学をしてインターンとか、エンジニアとしての経験を積まれる方もいると思うのですが、 休学しても、外に出てキャリアを積んだ方がいいとか、何かお考えありますか?

中島氏:何のために大学に行くかということを考えた上で、最終的な目標が面白いキャリアを持つことであれば、別に途中で辞めてもいいんだから、休学でもいいし、途中で退学してもいいし、面白い仕事さえ見つかれば働いても構わないと思います。一つだけ覚えておいた方がいいのは、いざアメリカに行きたいとなったとき、ビザを取るときに大学卒業してないと損するんです。それだけはちょっと覚えといた方がいいかな。

司会:大学を出ることだけが目的、ゴールじゃないけど、そこで得た学士とか、修士とか博士は役立つということですか。

中島氏:そう。実質と言う意味ではなく。それは社会構造の方が悪いんだけど、そういう世の中なので。
僕は、特に日本からアメリカに出てMicrosoftに入って頑張ってたじゃないですか。普通のソフトウェア業界だと、別にどこの大学を出たとか誰も気にしないんですけど、日本ではいまだにどこの大学を出たとか、最初にどこの会社に入ったというのは結構聞きますよね。昭和の考え方を持った人たちと会うときには。

司会:そうですよね。なんだかんだで学歴とかを見られる。

中島氏:僕は早稲田の大学院を出てから、1回NTTの研究所に入ったんです。でも、結局1年ちょっとで辞めてMicrosoftに行ったんだけど、NTTに入ったことは、今やってる仕事には何のプラスにもなっていない。アメリカで活躍するときとか、例えばベンチャーキャピタルからお金を集めるときにも何も役に立たないんです。

ただ、日本で昭和のおじさんと会うときにはすごいブランドなんです。全然見る目が変わるんです。例えば、僕がMicrosoftでWindowsやってましたと言っても、何も反応してくれない人が、僕、早稲田の大学院出て、1度NTTの研究所に入ってたんですと言うと、目の色が変わるんです。すごい差別。なんだこれは、ぐらいに態度が変わります。面白いです。そういう人たちもだんだん消えていくのかもしれないけど、少なくとも、僕が活躍してた時代に関して言うと、それは、僕にとって本当に何の価値もなかったんだけど、実はブランドとして、NTTの研究所に1度でも入ったということがビジネスの上で、すごく役に立ちました。

だから、分かんないよね。本当の実を取るんだったら、大学辞めて面白いベンチャー企業に行ってガンガン働いてもいいと思うんだけど。でも、実は例えば早稲田とか慶応とか東大をちゃんと卒業しましたというブランド力とか、もしくは1度ちょっと名の知れた大企業に入ったというブランド力が、今後も効く可能性は0じゃないよね。だから、そこはよく見極めた方がいいかもしれない。だからと言って、あんまりおもしろくない企業に入ってもしょうがないんだけどね。

僕は本当に面白いベンチャー企業があったら、大学辞めてもいいからバンバンやった方がいいと思う。でも、ひょっとするとわずかな可能性で大学卒業しましたとか、1度大企業のIT部門に正社員で入りましたというブランドが効く、昭和の人たちがいつまでもいるかもしれないとすこし思います。

司会:そうですよね。まだすこし名残があると思うので、おっしゃる通りそういう戦略もあるのかと思います。

本気で勉強するならアメリカの大学

次なんですが、海外の話もさっき出てきたと思うのですが、エンジニアを目指す日本の学生と、海外の学生がいて、そこは将来的にはライバルになってくると思います。この辺、マインドの違いとか、キャリアに関する感覚の違いなど、中島さんから見てありますか?

中島氏:アメリカの学生の方が、ちゃんと勉強しようと思って学校に来てますよね。知力を付けようと。日本の場合って、早稲田とか東大とか名の知れた大学に入ると、そこで就職有利だからあまり大学入ってから努力しないんです。日本の学生は。
少なくとも僕の時代はそうだったし、多分今でも同じだと思う。それに対してアメリカは、いい大学に入っただけだと駄目で、大学できちんといい成績を取っているか、もしくは実際にプログラミングが書けるかということを見ている。雇う人たちは。だから、大学で遊んでいるといい仕事につけないので、アメリカの学生はすごく勉強します。そもそも卒業させてもらえない。だから、本当にちゃんと勉強したいんだったら、アメリカの大学に行った方がいいと思います。だから、留学っていうのも手です。

司会:世界を見た方がいいですよね。ありがとうございます。

人と人とのつながりを大切にする

司会:続いて、今中島さんはエンジニアとしてのキャリアを築いてますが、これらの経験と知識を踏まえて、自分が今学生をすることになった場合にこれはやっておいた方がいいみたいな、学生ライフハック、自分だったらこういうことをやるみたいなものありますか?

中島氏:今思うと、もっとネットワーク作りをしておけば良かったと思います。このようなハッカソンなどに参加するのはすごくいいことで、学校周りの友達だけと知り合いだと、道が広がらないんです。

例えば大きい企業、トヨタとかNTTみたいなところは、会社のブランドがあって、当然安定しているということで就職希望の人もたくさんいるから、そこで求人と求職がすごくマッチングがいいわけです。入りたい人もいるし、採りたい会社もたくさんあるので、大会社に向けての就職ルートというのはすごく学校側も支援してくれるし、学校にも情報が来る。就職を手伝ってくれる教授とかもいるので、そっちにはすごくいい流れができている。

しかし、ベンチャー企業って小さいし、知られていない。特にまだ作られたばかりですごいベンチャーみたいなのが結構あるが、誰も知らない。彼らは彼らでお金かけて自分のブランド力を上げて、就職希望の人を集めることができないので、結局どういうことが起こっているかというと、そういう面白い会社というのは、人づてで人を採用しているのです。知り合いがいたとか、昔ハッカソンで出会ったことがあるとか、1回インターンしてたとか。そういうベンチャー側の人の採り方というのは、すごく人のネットワークに頼っているのです。お金かけてマーケティングもできないから。そういう意味で言うと、面白いベンチャーに入ろうと思ったら、そのネットワークに触れるようにしとかなければいけなくて、それは学校で勉強して、友達と遊んでいるだけだと作れないと思います。
だから、積極的にこういうハッカソンに参加するとか、もしくはちょっと難しいのかもしれないけど、オープンソースのコミュニティに入るとか。何らかの形で、ベンチャー界隈のエンジニアたちが人のネットワークを作っているところにちょっとでも触れることをすると、有利だと思います。

僕は、アスキー出版というところでアルバイトしていたのがものすごく役に立った。そこで学校外の人と付き合うことができ、知り合いが増えた。結局この業界って、特にシリコンバレーとかがそうだけど、結構みんな転職が多いから、1度一緒に働いた人との信頼関係をずっと保つんです。会社辞めた後も。それで自分が会社を作ったときに、この人とまた働きたいと思った人に声を掛けたりすることが起こるので、そのネットワーク作りが、すごくリクルーティングで役に立つし、それぞれのエンジニアにとって財産になるのです。

僕もそういう関係をお互いに持ってる、向こうも僕のことを信頼しているし、僕も向こうのことを信頼している人が何人もいるので、いざ会社を作ろうと思ったら声掛けるとか、もしくは会社を作ったときにお金集めを手伝ってもらう人がいるのが、すごく力になるんです。それは学生時代から作るのは難しいけど、そういう世の中なんだっていうこと。エンジニアの世界というのは、そういうものということを理解し、意識した上で、ちょっとずつでもいいから何か始めるといいと思います。

今回のハッカソンに参加しているだけでも、僕はすごくいいことだと思うし、ハッカソンで、たまたま同じチームにアサインされたエンジニアですごい人がいた場合には、その人と長く付き合っていく。そのためには、お互い様なんだけど、その人に自分がすごい人だと思ってもらわなきゃいけない。そういう関係を1人でも2人でも、こういうイベントを通じて作れたら一生の財産になるので、ここは意識してもらうといいと思います。

司会:そうですよね。本当に技術だけでなく、人脈なども併せてエンジニアのキャリアが築かれていくというのは、感じるところがあります。

これから学んでおきたい技術は?

司会:今、学ぶべき技術、これから学ぶべき技術というところで、中島さんがこれは学んでおいた方がいいという技術などあれば、ぜひお伺いできればと思いますが、いかがでしょうか?

中島氏:今学ぶべきは、やはりAIじゃないですか? Deep Learning。これはいろんなとこで使う時代になっているので、深いところの研究者になる必要はないんだけど、研究者が作った新しいDeep Learningの技術を、ソフトエンジニアとして応用できるみたいな立場になっておくといいと思います。そこは確実で、黎明期なんていう話ではなく、既にAIを使った技術がガーッと今伸びていて色々なところで使われているので必ず役にたちます。

あと、これからのポテンシャルで言うと、クリプトとかWEB3ですが、まだまだビジネスモデル的に、このビジネスが本当に社会に価値をもたらすのかが見えていない。黎明期だからチャンスといえばチャンスだけど、無駄になるかもしれないという可能性もあるというぐらいの意識で、勉強するといいと思います。

エンジニアとして会社を選ぶ基準は、ソフトウェアで勝負しているかしていないか?!

司会:ありがとうございます。続いて、エンジニアの就職に関する質問です。いろんなIT企業とか大企業、ベンチャーもある中で、エンジニアが就職するとしたら、今ならどのような企業に入ったらいいのか。中島さんのお考えを伺えたらと思います。いかがでしょうか?

中島氏:ソフトウェアで勝負している会社で、かつ、受注産業じゃないところ。これは何回もいろんなとこで言っているんだけど、日本の多くのIT企業の大手は受注型なんです。NECや富士通・日本IBMなどは基本的に自分たちのソフトを作っているのではなくて、お客さんのためのソフトを1人月いくらで作っているのです。そういう企業に入ると、出世するには、実はエンジニアでずっといては駄目で、営業とか企画とかの人にならないといけないので、エンジニアとして勝負したいのであれば、行くべきではないと、僕は思います。

別に外資系のGoogleとかMicrosoftでもいいし、日本のベンチャーでもいい。そういう自社のソフトウェアで勝負してる会社の中でのエンジニアというのは、スポーツチームの、例えばサッカーチームの花形選手みたいなポジションなので。折角エンジニアとして働くなら、自分が花形になれる業種を選んだ方がいいと思います。

司会:そうですよね。今、そういった自社開発のソフトウェアやサービスを持ってるところが勢いありますね。

中島氏:悩ましいのが、例えば、トヨタ自動車みたいなところが果たして変われるかどうかというのは、すごく微妙なところで判断難しいですよね。トヨタはこれからソフトウェアで勝負しないと駄目な会社なので、そこだけ見るとソフトエンジニアは花形なので行くべきなんですが・・・。カルチャーとしてハードな会社なので、彼らが本当にソフトで勝負できる会社になれるかというとすごく疑問です。だったらテスラに入った方がいいと僕は思います。

司会:あーなるほど、確かにそうですね。

中島氏:テスラなんか最高です。今、学生だったら一番行きたい会社がテスラで、2番目がスペースXかな。

司会:そうなんですね。すごく勢いを感じる会社ということですか?

中島氏:本当にソフトウェアで勝負してる会社だし。スペースXはすこし違うけど、テスラは明らかにソフトウェアで勝負してる会社なので。エンジニアが花形ですから。そこで勝負しないと。

キャリア選択を考える

司会:ありがとうございます。最後の質問なんですが、大企業、ベンチャー企業、そして起業など、大学卒業した後のキャリアの選択肢としてあると思うのですが、これについてどれが正解というのはないかもしれないんですが、中島さんの考えるこれらの位置付けというか、自分だったらこれをお勧めするみたいなのがあれば、お伺いできればと思います。

中島氏:どうしても起業したいと言うのならば、してもいいと思う。しかし、普通に考えたら、まずはベンチャー企業もしくは外資系のIT企業がいいMicrosoftとかGoogleとか。日本IBMは別だけど・・・。その他もう少し若い、例えばストライプみたいな面白い会社もあるから、そういうところに入って、そもそもベンチャー企業というのは、どういう働き方をしているんのかを勉強した上で起業するというのもあり。

また、第3の選択肢として、大企業の中でもソフトウェアを開発をしてるところがあるかもしれないので、そこでチャレンジしてみるというのも一つの手ではありますよね。例えば、トヨタ自動車はいい例です。ベンチャー企業が怖いと思っている人にとって、ベンチャー企業はどうなるのか分からないから、トヨタみたいな企業は安心するというのは分かるんです。トヨタの中でも、ソフトエンジニアを採用しているところもあるし、トヨタだけではなくてホンダとか、そういうところに行ってみるというのはあるかもしれない。

ただ、働き方が旧態依然としているので、本当の意味でのベンチャー企業の中で起こっている生産性の高さとか、個人個人にどんな責任が与えられるかなど、働き方が全く違うんです。大企業とベンチャー企業だと。大企業に1度染まると、結構難しいと思います。だから、やはりベンチャー企業がいいかな。

司会:そうですよね。いきなり起業となると、リスクが大きいですけどベンチャーだったら、ある程度守られつつ挑戦できるというところはありますね。

中島氏:ただ、どうしてもやりたいんだったら起業してもいいじゃないですか。別に失敗したところで命を失うわけではないので。起業した場合は、絶対してはいけないのが借金とかするときに個人保証をしないことです。VCなどからお金を集める分には、そういう個人保証とかついてこないけど、銀行などからお金を借りると、個人保証を付けさせられることもある。そうすると、倒産したときに借金がずっとついて回り、失敗が傷になってしまう。それだけ気を付ければ、いくら起業して失敗しても大丈夫です。

司会:挑戦心のある人は、起業も選択肢という感じですね。

中島氏:はい。

司会:ありがとうございます。


関連ページ