たった7ヶ月で2つのWebアプリを開発した最速プログラミング学習法

こんにちは。ハナキ(@novl_h)です。

今回、侍エンジニアマンツーマンレッスン(以下、マンツーマン)の卒業生で、株式会社YOUTURN 代表取締役 中村義之さんにインタビューをさせていただきました。

株式会社DeNAから分社化した『株式会社みんなのウェディング』取締役に就任後、上場を経て退職。そして起業に至った経緯から、なぜプログラミングを学ぶ必要があったか、学んで得られたこと、そして今後のビジョンまで幅広くお聞きしました。

中村義之なかむらよしゆき
1984年 福岡県福岡市生まれ。 高校まで福岡で過ごし、筑波大学に進学。 大学在学時代にEC系ベンチャー企業で長期インターンシップに従事。 2008年、新卒でDeNAに入社。 2年半後の2010年10月、DeNAから分社化した株式会社みんなのウェディングに取締役として参画。後に事業本部長を務める。 2014年3月、東証マザーズに上場を果たすも、同年10月に体調不良により退任。 2016年5月、1年半の療養を経て株式会社YOUTURNを設立。代表取締役に就任。

<<<  いま2/2記事目を読んでいます

目次

「とりあえずやってみてエラーを出す」問題解決で最も大事なこと

naka1-1

ーー学習中の話をお聞きしたいのですが、例えばググっても本当に見つからない時は、時間をかけて考えたり悩んだりしましたか?

中村:僕がインストラクターの井上さんに質問するまでの時間はとても短いです。

30分ググって調べて出てこなかったら、聞きますね。しかも、インストラクターに聞いたらキチンと回答が返ってくるんですよね。「この記事にやり方が書いてありますよ。」という感じで適切な記事を教えてくれるんですよ。

でも適切な検索ワードをちゃんとわかっていないときは、その記事に到達できないのでキツいです。笑

今でもそうなのですが、具体的な検索ワードになっていないことが結構ありますね。

ーー調べ方、ググり方を学ぶことはありましたか?

中村:ググり方というより「とりあえずやってみる」ということが大事なのだと教わりました。とりあえず動かしてエラーを出してみると、エラーメッセージの文言がヒントになって進んでいくイメージです。

ーーエラーを出して、そこから先に進む感覚ですね。

中村:そうです、それでもダメなときは聞きます。

ちなみに、英語のサイトばかり出てきたときはとても困りました。英語は読めたほうがいいなと思います。

座学よりも実戦が大事「挫折しないとできないことをやるのが勉強」

nakamura1

ーーアンケートに「プログラミングは趣味というより仕事としてやったほうがいい」とありましたが、この部分を詳しくお願いします。

中村:趣味や遊びの延長でやっていたら、たぶん途中で挫折していますね。

ある意味、自分が作ったRailsアプリがこれからの事業でお金を持ってきてくれるわけじゃないですか。そのRailsアプリを作らないと、労働集約的な仕事で汗をかき続けないといけないわけです。

あるいは、そうした労働集約的な働き方では絶対リーチできない人に、Webアプリならリーチできます。なので、「仕事としてやらなきゃいけない」と思えたからこそ続きましたね。

ーープログラミング学習をしている人の中で、そういう感覚でやれてない人は結構いると思います。自分のプロダクトを作っていなかったり、作り方がわからなかったり。それだと挫折してしまいますよね。

中村:そうですね。途中で挫折してはいけないこととして、向き合ったほうがいいですね。趣味としてではなくて、仕事として臨んだほうが挫折しないと思います。

でも、本当にプログラムを書くのが好きな人は違いますよ。ツールとしてプログラミングを習得したいという人は、仕事だと捉えてやったほうがいいということです。

「Webを使いこなせば非線形的な伸び方を」開発スキルを身につける魅力

naka6-3

ーー実際にメディアやRailsアプリを作って、新たな気づきはありましたか?また、一番の魅力はどんなところですか?

中村:僕はSAMURAI ENGINEERで7か月間 取り組んでプロダクトを作りました。しかし、本来プロダクトを作らずに営業を続けたほうが仕事としての進捗は当然良いわけです。

でも、それが2年、3年となった時にどちらの人がが強いかというと、Webツールを使える人のほうが強いんですよ。営業は足を使うだけだと、自分の工数の足し算でしかありません。

でもWebアプリだと、非線形的な伸び方をするかもしれないですよね。僕が今日まででローンチしているプロダクトはブログメディアだけですけど、ブログをやることで全くリーチできなかった人たちにリーチできたので、本当にやってよかったです。

スクリーンショット 2017-03-27 21.15.28

地方でチャレンジする人材を応援するメディア 引用元:「YOUTURN! Fukuokahttps://blog.youturn.jp/

先日書いた記事は、UU(来訪者数)だと累計2万ほどでPV(閲覧数)は7万を超えているんですよ。キャッシュが切れて重複している部分はあると思いますが、2万人に会うのは普通に考えて無理です。

自分のソーシャルグラフ(ネット上における人間関係)の中では絶対に到達できない人に会えて、しかもその人が僕のメディアにすごく共感してくれて、自分のサービスが何か人生を変えるきっかけになるのはとても良いことだと思います。それが魅力ですよね。

ーー間違いないです。個人でやってみないと感じれないですもんね。

中村:そうですね。個人でやった時の1UUと会社での1UUは全然違いますからね。

みんなのウェディングは多分300万から400万UUありますが、それより僕のメディアの2万UUのほうが自分個人にとっては価値があります。

ーー全然違いますよね。アンケートにある「プログラミングを学んで起業後の自分で対応できる守備範囲が上がったことへの安心感を持てた」というのはさっき言ってた運用・保守の部分が大きいんですかね?

中村:そうですね、運用・保守が大きいです。例えば、誰かに依頼する時にメールを書いたりFacebookでメッセージを送ったりするのは、すごく時間の無駄だと思います。

そんな時間があるなら自分でページをいじれたほうがいいですし、その守備範囲を得られたのは大きいですね。

ーー知らないと要件定義ができないですもんね。

中村:本当にそうですよ。

最初はインストラクターから、メディアや求人サイトのデザインをどうするのか質問されて、「どうしよう」という感じでしたからね。逆に、どういうやり方があるのか質問するという状態でした。

ーー今まで、プログラミングには全く触ってこなかったのですか?

中村:全然触ってこなかったですね。もちろん多少はわかりますよ。

マーケやSEO(検索エンジン最適化)をやっていたら、metaタグなどを見なければなりません。そうしたソースコードは見ますが、そもそもCSSやRuby・Railsのコードも見たことがなかったですし、デザインを依頼することがどういうことかわからなかったです。

psd(フォトショップ)やpdfの形式でもらうというのはわかりますが、それををどうすればいいのかわかりませんでした。

今は、例えばデザインの大枠を作成してもらい、画像素材やパーツを納品してもらい、CSS&HTMLをまとめて納品してもらうなど大まかなイメージはあります。しかし、あの時は全くイメージできなかったです。

そうしたこともあって今回、デザインは前職の同僚で、現在フリーランスのデザイナーをやっている人に依頼しました。依頼した際に、「いつもやっているやり方で納品してくれ」と言ったんですよ。するとpdfとpsdの両方を送ってくれて、素材は別でもらい、そこで初めて流れが理解できました。

「ドラゴンボールのようにスキルをつけてレベルアップしている感覚」

nakamura5

ーーメディアはどうやって作りましたか?

中村:WordPressで作り、一番カスタマイズしやすそうなブートストラップ(※1)を基盤としたテーマを調べて、井上さんと相談しながら決めました。そこから子テーマを作り、ガリガリ改造しましたね。

※1 ブートストラップ
フロントエンドWebアプリケーションフレームワーク。WebサイトやWebアプリケーションを作成することができる。

ーーメディアもご自身でコードを書いたんですか?

中村:結構 書きましたね。7ヶ月間遊んでいたわけではないです。

ーーメディアとRailsアプリ(Webアプリ)の2つを作られたんですね。

中村:そうです。Railsアプリは、会員登録付きの求人サイトですね

あと、運用を楽にしたかったので、「一般ユーザー」と「管理者ユーザー」という風にユーザーモデルを2つ作りました。ユーザーが会員登録できる機能や、運営者である僕が求人情報を登録したり応募情報を確認したりする機能も作りたかったんですよね。

また、WordPressにおけるダッシュボードのような管理画面を作り、応募があれば入力情報を管理画面で見れるようにしています。SSLの証明書取得やIPアドレス制限なども実施しました。オフィスでしか管理者アドレスにログインできないようにするなど、セキュリティー部分もガッツリ作りましたね。

ーー企画から設計・開発と、エンジニアの工程を全部経験してみてどうでしたか?

中村:楽しかったです。一つ一つが形になっていきますし、「今新しいスキルつけている!」という実感がありました。ドラゴンボールのように、新しい技を覚えて強くなっていく感じがすごく面白かったですね。笑

ーー自分で企画・設計して開発する中で、どの工程が一番面白かったですか?

中村:コードを書いて動かしてみて、実際に動いた時が一番面白かったです。ブログメディアのCSSは、元々あるWordPressのテーマをほとんど書き変えるくらい作りましたし、Railsアプリはゼロからデザインしました。

ちなみに、デザイナーからもらったものを参考に作成していたのですが、進めていく中で自分がデザインを好きではないと気づきましたね。厳密に言うとコーディングの部分ですが。

css

画像:shutter stock

WordPressテーマをほとんど書き直すくらいカスタマイズしたCSS

特にCSSの部分は、納品されたデザインになるように整えてるだけに思えて、あまり好きではないです。

コードはロジックが整っていないと絶対に弾かれるし、逆に上手く書ければキチンと動きます。そういう自分の思考や考えた結果がしっかり反映される部分は面白いと思います。

あと、正解がないのも良いですね。させたい動きのやり方が何通りかある時は、初心者は難解なやり方ではなく、とりあえず動かそうという戦略もアリです。動けばいいと納得して前に進めるのは好きですね。

一方で、慣れてくると前に書いたコードを書き直すときに、「こちらのほうが綺麗に書けるな」と気づくことがあります。それで書き直せばシンプルにしていけるので、すごく難しいけど面白かったです。

そのプロセスは、ブログの文章を推敲している時に似ているかもしれません。例えば、「この言い回しのほうが自分の感情を的確に表現できているな」という感じです。やはり媒体は違えど「言語」なので、そうした言葉を操ること自体が割と好きです。

「個人的な人間関係を築けた」マンツーマンの魅力

nakamura9

ーーマンツーマンレッスンならではの良かったところは何ですか?

中村:時間が経つごとに仲良くなれたのは良かったですね。SAMURAI ENGINEERの場合、インストラクターがコロコロ変わらないので、どんどん質問しやすくなります

「こんなことを聞いていいのかな」とか「これくらい自分で理解できないとダメなのかな」などと、最初はどうしても考えてしまいました。今はもう全く考えませんが…笑

また、自分の成長を間近に見てくれている人なので、「今回は早くできましたね」「こんなコードを書くようになったんですね」など、細かい変化に気づいてくれます。デザインができた時も、褒めてくれると嬉しいですしモチベーションが上がりますよね。

これが毎回新しい人だと、「この人はこれくらいできる人なんだろうな」と捉えられてしまい、成長を褒めてもらえないと思います。

ゼロからみてもらっている人だと成長を実感してコメントをくれるので、「自分は向いているんじゃないか」など、いい意味で勘違いできるはずです。

ーー褒められるのは大事ですよね。やっていて不安な時はどう対処していましたか?

中村:一回コードをバーっと書いてしまうと、あとで取り返しがつかず、後戻りするのが面倒です。なので、ザックリと方向性だけインストラクターに確認するようにしていました。「その方向性で間違っていない」ということを聞けたら、納得して自信を持って先に進めるという形で進めた感じです。

「調べないと仕事にならない」変化したエンジニアへのイメージ

naka11-6

ーープログラミングに触れてみて、エンジニアのイメージが変わることはありましたか?

中村:以前は、エンジニアはずっとコードを書いていて、たまに調べものをするというイメージだったんですよ。

慣れている人は自分がどういうコードを書けばいいかわかっていて、全部頭の中に入っているからゴリゴリコードを書いているんだろうと思っていました。

しかし、実際にエンジニア的な仕事をやってみると、常に何かを調べているということに気づきます。どれだけググっても出てこないときなど、ずっと調べ物をしている自分が嫌になる時もあるんですよね。

その話をインストラクターにしたら、「僕もそうですし、だいたい皆そうです」と言われたんです。プログラミングを始める前のエンジニアのイメージと結構変わりましたね。

ーーなるほどやったことがない人からすると意外かもしれませんね。

中村:あとは、Cloud9(統合開発環境)でうまく動かない機能があったので、ローカル環境で開発することになりました。そのとき井上さんに、「Cloud9はネット環境がないと開発できないですが、PCのローカル環境なら飛行機に乗っていても開発できますか?」と質問しました。

すると、調べられないから無理だと答えてくれたんですね。新しいものを作るには、調べながらでないと難しいということで、この一連の会話の流れでエンジニアに対するイメージが変わりました。

ーー良い意味でもイメージが変わったんですね。

中村:はい。この7か月間ずっと調べ物ばかりしていたので、調べる度にそのやり取りを思い出しますね。

なので、最近は調べ物をしていても「調べ物は皆やっている」と思うことが、モチベーションを保つ上で心のよりどころになっていますね。

受講後に獲得した仕事は…「これから習得するスキルを雇った」

nakamura7

ーー「最初から自分の会社のプロダクトを作るつもりでいたので、自分がこれから習得するスキルを自分で雇った」と書いてありましたよね。

中村:はい。僕はエンジニアに転向してフリーランスになるつもりではなかったので、「仕事を得るためのプログラミング習得」で受講したわけではありません。

ところが、今の結論としては「このレベルのスキルだと、僕は僕を雇わない」ということです。笑

なので、これ以上自分のプログラミングスキル習得に時間をかけるより、得意な人にやってもらえたほうがいいという結論に達しました。

求人サイトさえできてしまえば、あとは事業を推進するだけです。営業もマーケティングも人材紹介以外の事業もやりたいときに、開発以外のビジネスサイドに時間を割いたほうが全体パフォーマンスは上がると思います。

ですが、自分で一度求人サイトを作れていなければ、そういう割り切りはできていないです。私は7か月で質の高い成果物を作成でき、今後自分がWebアプリをベースにビジネスをやっていく分には「問題ない」と思えるスキルを身につけることはできました。

ただ、社内のCTO(最高技術責任者)とするには、自分のスキルは足りなさすぎますね。

ーー未経験ですもんね。

中村:はい。ただ、プログラミングのベースのスキルを持っている代表取締役というのは良いと思います。少なくとも、自分は1年前より良い人材になっているはずです。

ーーいまプログラミングは、本当に求められているスキル、むしろないと困るスキルですよね。

中村:はい。欲を言うと、プログラミングにもっと習熟したかったです。

自分がもっと若ければ、ビジネススキルを得る前の時間があるうちに、プログラミングでコードをかけるようにしていたと思います。そこからビジネススキルを上乗せしたほうが早いです。

あとは、新しいものがどんどん出てくるので継続的にキャッチアップしていかないといけません。そのためにはベースとなる素養をいかに分厚く最初に持てるかが大事だと思いますね。

エンジニア以外の職種であれば、例えば去年は営業で今年はマーケティング、来年は人事に携わるということもできますが、エンジニアはそれができません。

「僕は来年はエンジニアになります」と言われても、「いや、先にキチンと勉強してください」という話なので、エンジニアが専門職である理由がすごくわかります。

いま最も足りていないのは「共同開発ができていない」ということ

naka12-8

ーーいま学生時代に戻るとしたら、インターン先はエンジニアですか?

中村:SAMURAI ENGINEERのようなスクールがあれば、そこで時間を投資して学習するかもしれないです。ただ、確かにエンジニアとして働いてみたり、学生時代なら趣味でWebアプリを作ったりする経験があってもいいと思います。

僕がこの7か月間 自分でRailsアプリを作った時に、一つだけ大きく足りてないものが今もあり、それは共同開発のイメージが全くできてないことです。

自分一人で開発している場合、コードの書き方については僕がわかれば良いわけですから、仕様書など共同でアプリを作る上でやっておくべき作業や書き方が全くわからないんですよ。

僕はプロのエンジニアになるつもりが今のところないので無視していますが、仮にエンジニアとして食べていくなら共同開発をイメージした書き方の習得は不可欠だと思いますね。

ーーいっしょに開発する作業も、実際に開発チームに加わらないとわからないですよね。

中村:そうですね。あと、大企業でのシステム開発とベンチャーでのプロダクト開発とでも、共同作業の意味合いや進め方も全然違いますね。

「地方でチャレンジするUターン・Iターン人材を応援する」起業後のビジョン

nakamura3-9

ーー中村さんが開発したブログメディアとRailsアプリは、どういった経緯で作成されたのですか?

中村:戦略的な話でいうと、求人サイト(Railsアプリ)は自分がリーチできない人にオープンに情報を公開する場として、また自分と面識がない人からも連絡をしてもらうための問合せフォーム的な位置づけとして開発しました

僕が個人のFacebook上にしか仕事を探す人の入り口を設けていなかったら、当然リーチできる層が狭まります。

また、ずっと前職でマーケティングをやっていて、(自分が現在開発中の)地域特化型の求人サイトのグロースはなかなか難しいというイメージがありました。バイラルで広めたり、SEOやコンテンツ量や質でしっかりマーケティングしたりするためのツールとしては、求人サイトだけだと厳しく、大手の大規模サイトには絶対に負けると思います。

それなら、メディアがあったほうがいいと思い、WordPressでブログメディアを作りました。そこでは、「こういう形で働きたい人を応援したい」「この地域のこの企業はすごくいいから紹介したい」など、ビジョンや想いを発信したいですね。

つまり、共感を呼んで、ソーシャルな広がりも期待できるブログメディアとして育てていきたいと思います。メディアがソーシャル上でもSEOでもプレゼンスを上げることができれば、トラフィックを求人サイトにも持ってこれるという狙いですね。

そのため、集客手段としてブログメディアを作り、SEOやソーシャルの分野をカバーして、最終的な着地として求人サイトへの会員登録や掲載求人への応募、転職相談の問合せなどに着地したらいいですね。

ーーなるほど。「地域特化型の求人サイト」という感じですかね。

中村:今のところはそうですね。ひと言でいうと「地方でチャレンジするU・Iターン人材を応援する」求人サイトですね。そのフレーズはブログメディアにも求人サイトにも当てはまります。

rails1

引用元:YOUTURNhttps://youturn.jp/recruits

こんな感じですね。これはまだローカルです。

※ 17/07/12 追記ローンチされたRailsアプリはこちらです。

引用元:YOUTURNhttps://youturn.jp/recruits

ーーすごいですね。

中村:次がトップページです。デザイナーから、PDFや素材を全部もらいました。

rails2

ーーとても本格的ですね。

中村:求人自体はまだ全部ダミーですが、次のような形で入ってくるイメージです。

rails3

これが求人のトップ画面で、本文はまだ入れていないですが、メディアの記事はクリックしたら飛ぶ形です。

ーーとてもいいですね。半年でできたのはすごいです。メディアも見せていただけますか?

中村:はい、次の通りです。

スクリーンショット 2017-03-27 21.15.28

ちなみにコーディングは、圧倒的にRailsでゼロからやったほうが楽でした。WordPressオリジナルの親テーマが影響してしまう部分があるので、書いたことが小テーマに反映されないことがありますね。

ただ、半年前はこんなものが作れると思っていなかったので、本当に通ってよかったなと思いますね。まず1個作ってみるのが大事だと痛感しました。

ーー百聞は一見にしかずですよね。

中村:そうですね。半年でここまでこれるというのは、投資に対するリターンとしては十分大きかったですね。これだけで世界が変わって見えます。

ーーそうですよね。世の中には、弁護士・税理士・会計士・デザイン・営業・語学など色々ある中で、今の時代でこれほどコスパの高いスキルはプログラミング以外にないと思います。

中村:間違いないです。ただ、僕の場合は少しインチキがあり、仕事しながら通っていたわけではないんですよ。療養期間中だったので、プログラミングに半日使える状態でした。

SAMURAI ENGINEERのマンツーマンレッスンなら、どれだけ質問しても受講料は変わらないです。丸一日使って受講料の元を取ろうとするのと、業務後2〜3時間だけで勉強するのとでは、結構違うと思いますね!

<<<  いま2/2記事目を読んでいます

オンラインでどこでもコンサルタントに話を聞ける無料学習相談

無料カウンセリングのおすすめポイント

  • あなたにあった学習プランが明確になる

  • 未経験からエンジニアに転職する方法がわかる

  • どのプログラミング言語を学べばいいかわかる

将来性の高いスキルを身につけたい
時勢に左右されない働き方はないかな?

リモートワークなど多種多様な働き方ができるITエンジニアを目指しませんか?

未経験でもご安心ください。無料学習相談をご利用される9割の方はプログラミング未経験です。まずは無料カウンセリングで、プロのコンサルタントにあなたの悩みや不安をお聞かせください。

なお、侍エンジニアでは次のような割引・特典もご用しているため、通常よりもお得な費用で受講いただけます。

リスキリングを通じたキャリアアップ支援事業補助金受講料の最大70%(上限56万円)の支給が受けられる
全額返金保証制度転職活動で内定が獲得できなければ受講料を全額返金
学割通常の受講料から10%OFFで受講可能
一般教育訓練給付金制度コース受講料の最大20%(10万円)が給付金として支給される
小中高生向け優待プログラム小/中/高校生は25%OFFで受講可能(全コース)
女性向け優待プログラム女性の方は5%OFF/シングルマザーの方は25%OFFで受講可能(全コース)
障がい者向け優待プログラム障がいをお持ちの方は25%OFFで受講可能(全コース)
シニア向け特別プログラム50歳以上の方は10%OFFで受講可能(全コース)

無料カウンセリングは、下記のカレンダーから簡単にご予約いただけます。プログラミング学習に関する悩みや疑問、キャリアの相談などございましたら、気軽にご予約ください。

無料カウンセリングの所要時間は40分〜になります。
お時間の無い方は、カウンセリング開始時にお伝えいただければ短縮することも可能です。
日時変更も柔軟に可能です。枠が埋まる前に、お気軽にご予約ください

今ならAmazonギフト券500 円プレゼント!!
無料カウンセリング後、3日以内にアンケート回答でプレゼント

お急ぎの方はこちらからお問い合わせください。

読み込みに失敗しました。
大変お手数ですが、本ページを再度読み込んでください。

再度読み込んでも、読み込み失敗が起こる場合は
こちらからお問い合わせください。

カウンセリングはオンラインにて実施しております。

※予約完了後に、カウンセリングのためのURLやIDなどをメールにてご案内します

1.ご希望の日時を選択してください

空きあり 満席
前週
次週

2.必須事項を入力してください

必須選択された日時

日時を選択してください

開催場所 オンライン

日時を選択する

必須お名前

必須電話番号

必須メールアドレス

    ご予約により、個人情報の取り扱いおよび利用規約に同意するものとします。

    この記事を書いた人

    侍エンジニア塾ブログ編集長。オウンドメディア運営、コンテンツマーケティング、SEO対策が得意分野です。プログラミングはすべての人が学ぶべきスキルだと思っています。0→1を作り上げるエンジニアはとてもかっこいい職業で世の中のイメージ(3K)を変えたい!と密かに思ってます。現在Swiftを勉強中。音楽鑑賞が趣味で、ライブやフェスによく行きます。
    インスタやってます。
    ツイッターやってます。
    ブログやってます。

    目次