今回は、オンラインプログラミング学習サービスを運営するProgateの元共同創業者兼CTOである村井さんに、東京フリーランスで独占インタビューをさせていただきました。

初心者でも簡単にプログラミングが学べるような教材を作って世界を変えたい…。
こういった想いから生まれたプログラミング学習サービスの「Progate」ですが、サービス立ち上げの背景には一体どんなストーリーや困難があったのでしょうか。
そして、オンラインでプログラミングを学習する場合、何に気をつければ良いのでしょうか。
Progateとは?
Progateとは、「初心者から、創れる人を生み出す」という理念のもと、Web上でプログラミングが学べるコンテンツを提供するオンラインプログラミング学習サービス。
イラスト中心の解説スライドを見て知識を習得し、実際にコードを打ち込みながらアウトプットのできるレッスンが特徴的であり、2019年8月時点で92万人を超えるユーザーがProgateを利用している。
▶︎Progateの公式サイトはこちら!
そこで今回は、Progateを創業した村井さんから、Progate元CTOとしての心の内や、「プログラミング学習の極意」についてを余すことなく伺ってきました!
プログラミングスクールの創業者から、プログラミングの学習方法を直接聞けるのは超貴重です!
- なぜProgateを創業したのか
- Progateを運営していく上で苦労したことや感動したこと
- プログラミング初心者が必ず陥る罠やその対策法
- プログラミングの学習で挫折しないために必要なこと
などについて迫っていくので、
起業に少し興味がある…。
プログラミングを覚えて世界を変えたい!
未経験からプログラミングを習得して転職したい!
と考えていた方は、是非最後まで読み進めてみてください!
【インタビュイープロフィール】
村井さん(
@wyvernMurai)
東京大学在学中にプログラミングを独学し、受託開発を経験。
その後オンラインプログラミング学習サービスのProgateを共同創業し、CTOとしてプロダクト開発、経営に携わる。
2018年末にてProgateを退職し、現在はフリーランスとして複数の会社を手伝いつつ、次の会社の創業に向けて準備中。
【インタビュアープロフィール】
初芝賢(
@hatushiba_ken)
東京フリーランス編集長。現在はシステム開発のPMや新規事業に携わる一方で、フリーランスライターとして出版・キャッチコピー・WEBメディア連載などを手掛けている。東京フリーランスではインタビュアーや司会進行を務めることが多い。
公式LINEでは、デイトラ受講に関する個別のお悩み相談も承っております!
「デイトラは積極的に情報を開示し、ミスマッチをなくす」方針を取っているので、あなたの状況に合わせて、中立の立場から回答いたします。
Progateを創業したきっかけは「野心」と「悔しさ」

早速ですが、Progateを創業したきっかけを教えてください!
Progateを創業したきっかけは、学生時代に抱いた「自分で起業したい」という強い野心と、プログラミングで「モノを創れない」という悔しい思いとが重なった時でした。

出典:Progate
学生時代に起業を志すも、挫折の連続…。
学生時代、現ProgateCOOの南部と一緒にずっと起業を考えてたのですが、最初は全くうまくいきませんでした…。
当時は「起業して世界を変えてやる!」とモチベーションも最高潮だったんですが、本当に何もできなくて、苦しい挫折ばかりを味わいましたね。

今じゃ考えられないほどの壮絶な起業ストーリーがあったんですね…。
その後、勉強仲間が欲しかったから東大でプログラミングサークルを立ち上げました。
そこで優秀な人をたくさん集め、みんなで一緒に勉強していける環境を作ったんですが、プログラミング初心者だった僕たちでも受託の開発を受けられるようになり、その経験を経て人生が変わったんです。
プログラミング一つでスタートアップの中心人物にもなれる
プログラミングサークルでの活動を通じ、僕はプログラミングが「人に必要とされ、自分のアイデアを形にできるものなんだ」と実感しました。
だって、自分で何か新しいものを生み出せるスキルなんて中々ないじゃないですか。
僕がスタートアップ企業の手伝いをしていた頃は、プログラミングができなくて歯がゆい経験も多くありました。
だけど、できるようになったら「是非ウチで手伝ってよ!」と言われるようになったし、プログラミング一つでスタートアップ企業の中心人物にもなれたんです。
色んな人たちのお手伝いをする度に感謝される経験はとにかく新鮮で、プログラミングってすげーって感動しました。
なるほど。
最初はプログラミングができず悔しい思いもしたけど、できるようになるとすごく楽しくなって、見える世界も変わったんですね。
そうですね!
「作るのって、意外と難しくないじゃん」とも思うようになったんです。
「プログラミング教育を変えたい」という想いがProgateを作らせた

「教科書的な学習」は挫折しやすい
プログラミングの勉強だけに限らず、教科書的な学習って、「本当に必要な部分」だけを集中的に学ぶのではなく、まず最初に「全ての項目」を網羅します。
プログラミングの勉強は独学でやる人も多いですが、目的が無いまま全ての項目を最初に勉強するスタイルだと、後々絶対に挫折すると思うんです。
例えば、「これっていつ使うの?」っていうような言語や知識を一辺倒に教え込まれたり。
そんな勉強の仕方だと、「とりあえず一通り言語はわかったけど、結局自分でアプリを作るにはどうすりゃいんだ?」と悩んでしまうんですよ(笑)
なので、実際に使うプログラミングの知識と、教科書上で学べる知識の差はすごくかけ離れてると思うんです。
確かに教科書ってすごく分厚いですが、実際に必要な知識は必ずしもそんなに多いわけじゃありませんよね。
プログラミングは情報の非対称性がかなりある
そもそも、プログラミングには「情報の非対称性」がかなりあります。
「どんなコードを使って作れば良いか」を知ってる人は最短でステップアップできますが、知らない人は無限に基礎の部分をやり続けるようなループに陥りやすいんです。
例えば、無限にif文をやり続けて、if文の迷路に迷い込んじゃったりとか(笑)
だけど、当時は「本当に必要な部分だけ」を教えている教材はなく、プログラミングの楽しさを伝えているような教材もほとんどありませんでした。
やっぱり、プログラミングの勉強は楽しさがないと続けられないし、「何かを作っていけるからこそ楽しい」と思ったんですよ。
その時、僕たちが抱えていたプログラミング学習に対する問題意識と、「今なら起業できるぞ!」っていう強い想いが重なって、Progateを作ろうと思ったんです。
なるほど、じゃあタイミング的にもその時がベストだったわけですね!
はい。
自分たちがプログラミングの勉強を経験して苦しかった部分や悔しかった部分を踏まえ、「自分たちのサービスでそれを排除していこう」と強く誓ったんです。
目次
苦労の方が多かったProgateの立ち上げ
では、実際にProgateを立ち上げてみて大変だったことや、苦労したエピソードなどを聞かせていただけますか?
これまで本当に地道にコツコツやってきましたが、そのプロセスはめちゃくちゃ苦しくて、鬱になりそうな時もあったし、休みもほとんどありませんでした。
僕たちは、コンテンツ制作の外注を一切しなかったんですよ。
肝心なコンテンツを外注しちゃうと、自分たちが苦しんだ教材と変わらなくなっちゃうし、それじゃ意味がないと考えたんです。

だからこそ、職人魂を持ちながら、とにかく自分たちのこだわりやエゴを出しまくって突き詰めていました。
一歩も外へ出ず夜中の3時まで仕事をしていたことも。
ですが、Progateって今ではものすごく良質なコンテンツが揃ってますよね。

Progateは学べる言語がとにかく豊富で、自分の目的別にコースを選択できる点も魅力。
最初は5〜6人でシェアハウスに引きこもりながら、毎日ひたすらコンテンツを作り続ける日々で、正直めちゃくちゃ辛い時もありました。
一歩も外へ出ず、夜中の3時までひたすら作業するような生活を繰り返していたんです(笑)
「俺たち何やってんだろう…。」って気持ちにもなりましたが、みんなスティーブジョブズやイーロンマスクを基準にしていたので、「俺らもこれくらいがんばんなきゃな!」と気合いを入れてましたね(笑)
起業当初は貯金を切り崩しながら生活する日々だった…。
最初は超無名でユーザーも全然いないし、ずっと赤字が続きました。
2年くらいはほぼ収益化していなかったので、給料13万円とかでやりくりして、足りない分は受託で稼いだり、貯金を切り崩したりしながら生活していました。

そうだったんですか…。
今じゃそんな生活、全く考えられないですね。
しかも、その生活を2年間も続けましたからね。
土日もずっと働いてたし、もうほんとに何やってんだろうって…。
半分鬱になりかけてましたよ(笑)
とにかくプロダクトのバリューを上げることに注力していた
その時って、収益化しようとは思わなかったんですか?
当時はプロダクト志向が強く、プロダクトの価値を上げることのみに注力しようと考えていました。
有料化するとユーザーが離れてしまうんじゃないかってすごく怯えてて。
でも、やっぱりお金がないとサービスも続けられないから、有料課金をしていくことを決意したんです。
そこで、「ここまでやって売上が月5万とかだったら辞めよう」と腹をくくりました。
2016年の3月に「事前登録をすれば一ヵ月無料です」というトライアルを始めたんですが、そこで300人くらい一気に入ってくれましたね。
なるほど!
今では90万人を超えるユーザー数を抱えるようになったProgateですが、過去にはそんな波乱万丈の立ち上げエピソードがあったんですね!

Progateのユーザー数は90万人を超え、今では世界100ヶ国以上に及ぶ国々でコンテンツが提供されている。
「見えない世界」に飛び込む為にProgateのCTOから退任することを決意
村井さんは昨年の年末でProgateを退職されたかと思いますが、なぜProgateのCTOを退任することとなったのですか?
僕はProgateの次のステップとして、自分の事業を新たに作り、もっと色んなものを創りながら色んな人と関わって生きていきたいと考えてたんですよ。
元々Progateに対しては「やる気さえあれば誰でもプログラミングができるような教材を作りたい」という想いを込めてたんですが、かれこれ4年半くらいやってきて、もう最低限のミッションは達成したなと思って。
そこで、このままProgateを続けるか、それとも新たな道を切り開いていくのかという苦渋の選択となりましたが、悩んだ末、「自分の時間を確保したい」と思うようになったんですよね。
とにかくレールがあるのが嫌いなタイプで、将来の道が見えているのが嫌なんです。
それよりも、一か月後にどうなっているのかわからないような状態の方が好きなんですよ(笑)
将来が見えない状態で何かを始め、ある程度軌道に乗って将来が見えてきたらまた次のことを始める。
そんな挑戦を常にやり続けたいんです。
感動を求めてインターネットの世界を超えたくなった
では、実際にProgateを作って感動したことや、心を動かされたことってありましたか?
とにかくユーザーから「使いやすい!」と言ってもらえることが一番嬉しかったです。
Progateはユーザー1人1人に全力で向き合い、1人の成功を大事にするかなり“エモい”チームでした。
だからこそ、利用ユーザーに満足してもらえることが一番の喜びでしたし、高評価をいただくと素直に感動していましたね。

ですが、そういった経験の中、インターネット上のサービスでは味わえないようなもっと深い感動や喜びを得たいと思うようになったんです。
どうしてもネット上のサービスだと、「いかに多くのユーザーに届けるか」というのが指標になってしまいます。
もちろん、Progateでも一人のユーザーを大切にしてサービスを提供し続けてきましたし、オンラインで完結しているサービスだからこそ、多くの人に届けることができました。でも、次はより深い「人対人」のコミュニケーションを取り、感謝の気持ちや喜びの気持ちを互いに伝え合うことをしたいと思ったんです。
たしかにインターネットがベースだと、「広く浅く」とどうしても1人1人に深く関われない部分がありますよね。
どれだけネット上でユーザーと真剣に向き合っていたとしても、やはりリアルな「人対人」の関係性とは大きな隔たりがあるのかなと思って…。
だからこそ、もっとリアルでの繋がりや出会いを大切にしたいなと考えるようになったんです。
フリーランスこそ繋がりを大切にして戦っていくべき
これからフリーランスになりたい人の中には、結構合理主義的な部分に憧れを抱いているような人も多いと思うんですが、そういった方々へのメッセージって何かありますか?
フリーランスだからといって、一人で仕事するのは本当につまらないと思います。
僕は一人でいるのが好きだから、仕事も一人でできると思ってたけど、実際やるとマジでつまらなくて…。

特にエンジニアだと合理的な考えを持つ人も多いんですが、合理主義に振れると楽しみやエモさはカットされていきます。
案外エモさの部分が生きていく意味にも直結するし、プロダクトの成功にも関わってくるんですよ。
エンジニアは一人でデスクに向かうことが多いですからね…。
それに最近、完全分業制で自分の責任範囲だけしかやらないような働き方も多いんですよね。
確かに合理主義でいれば仕事の効率は良くなるかもしれないけど、必要最低限の範囲でしかプロジェクトに携われないような働き方もつまらなくないですか?
ただ言われたことをやるだけでなく、もっと有機的に繋がりながら、プロジェクトの成功やチーム内でのコミュニケーションに注力していくことを大事にした方がいいなと思います。
確かに、一緒にワイワイしながらチームを盛り上げてやっていく方が間違いなく楽しいですよね。
フリーランスってすぐに一匹狼になっちゃうんですが、フリーランスこそ人との繋がりが重要な世界です。
会社に守られていないからこそ、人に信頼されることが大事ですし、仲間を大切にするべきなんですよね。
プログラミング学習で挫折しない為に必要なたった一つのこと
では次に、「プログラミングの勉強法」について少し伺いたいのですが、初心者がプログラミングの勉強で挫折しないためにはどうすれば良いのでしょうか?
結構プログラミングの勉強方法について悩まれてる方も多いと思うのですが…。
それは「目標を持つこと」ですかね。
目標を持つことこそ、プログラミングを勉強する上で絶対に必要です。
目標があれば勉強はとても楽になる
僕も今AIに関する勉強をしてますが、やっぱり勉強は全然面白くありません。
だけど、目標が決まっていれば勉強もすごく楽になるんですよ。
目標があれば、「いつまでに何をやるか」という具体的なプランが決まるので、必要なものと不要なものの両方が見えてくるようになります。
しかし、目標を持たず「なんとなく」でやってる人は、どうでもいいところを無駄に勉強しちゃったりします。
例えば、Rubyをやった後に本来やる必要のないPythonをやっちゃうとか。
他にも、色んなコンソールの書き方を覚えたり、色んなwhileの書き方を覚えたりしちゃう人もいるんですが、それって凄く効率が悪いし、時間がもったいないんですよ。
まずは明確な目標を立てよう!
実際に必要じゃないものばかり勉強してしまうという部分には、以前から大きな問題意識を持たれていましたもんね…。
自分が「今何をやるべきか」が分からず、みんなとりあえず全て覚えようとしちゃうんですが、だからこそ目標を持って勉強するのが大事なんです。
例えば、「Facebookのようなサービスを作る!」とか「10万円分の受託を受ける!」とかでもいいですし。
目的が決まると、自分の作りたいものに向かって最短距離で走れるようになるので、自ずと自分の行動も変わってくるんです。
確かに、目標がふわっとしている人はあまりうまくいってないイメージがありますね。
コードを書くよりまずは人に会え
では、未経験でこれからエンジニアやプログラマーとして就職を目指す方に、何かアドバイスをいただけますか?
う〜ん、まずは人に会って話を聞くことが一番重要ですかね。
人と会うことで初めて道が開かれる
例えば、「メルカリに入りたい!」と思ったなら、とりあえずメルカリの人に会って、たくさん話しを聞いてみてください。
if文をいくらやったとしても、メルカリへの入社には繋がらないですからね(笑)
まず人に会って話を聞けば、少なからず目標を達成するためのヒントをもらえる可能性があるじゃないですか。
「初心者の方ならこういう人をウチは採用している」といったことを教えてくれるわけですよ。
積極的に聞いていけば、「自分が具体的に何をすれば良いのか」を先に知れるんです。
だけど、人と会わずにひたすらコードを書いてたら、もしかすると不要なものばかり学んじゃってるかもしれませんからね。
確かに!
目標がない人はどうしても盲目になりがちで、同じ場所をぐるぐると何度も学習してしまいますよね。
プログラミングを「暗記学習」で終わらせてはならない
日本の教育を受けてると、自然に教科書的な項目を覚える「暗記学習」に向かってしまいます。
プログラミングの習得においても、多くの人が暗記してナンボのような「受験勉強」をしてしまうんですが、暗記学習で満足せず、どんどん人に会って話して、アウトプットしていって欲しいんですよ。

プログラミングを「銀の弾丸」だと思ってはいけません。
プログラミングだけできても、業界じゃうまくはいかないし。
本当に活躍できる人は、行動力があってコミュニケーションも上手だし、プログラミング以外の部分が優れているんですよ。
もちろん「Googleのアルゴリズム全部作れます」ってくらいの天才プログラマーならずっとコードだけ書き続けていれば良いですよ。
でも、自分が天才じゃないと思うなら、プログラミングだけしててもダメだし、とにかく行動した方がいいんです。
さいごに:もっともっと、アウトプットを増やそう。
では最後に、村井さんからみなさんへ一言お願いできますか?
Progateのようなプログラミング学習サービスでインプットするのも大事ですが、それ以上にみんなもっと外に出て実際に行動しながらアウトプットもして欲しいと思っています。
基本的に、自宅で勉強するようなインプットってすごく楽なんですよね。
何も傷つかないし、失うものもないし…。
だけど、そこで終始しているのはすごくもったいないです。
オンラインでプログラミング学習をするのは一見合理的に見えるけど、外に出てアウトプットすることの方がもっと重要なんですね。
例えば、実際に企業へ訪問して採用担当者さんから話を聞くとかですかね。
プログラミングは自分のアイデアを形にできる凄いスキルですが、それに合わせてリアルでの行動力が掛け合わさるとかなり強いと思います。
自分で行動しなければ、どこかで運任せとなってしまいますから。
自分で何でも生み出すことができる部分こそ、エンジニアの最大の魅力であり可能性だと思うので、みなさんももっとアウトプットを増やし、たくさん行動に移してみてください!

Progateの詳細
Progateでは、環境構築が不要で初心者でもすぐにプログラミングの基礎知識を習得&実践していくことが可能です。
イラストの図解が分かりやすく、レベルを上げながらゲーム感覚で学習を継続させられるので、プログラミング初心者の方であれば、ココから始めれば間違いはありません。
気になる方は、是非Progateを使ってみてください!
▶︎Progateの公式サイトはこちら!