2017年9月30日・山崎大助先生インタビュー
主席講師として日々G'sACADEMYの生徒たちにPHP、JavaScriptといったプログラミング言語を分かりやすく教えてくれている山崎大助先生。5年連続でMicrosoftMVPを受賞、という快挙はすごすぎてもはやどれだけすごいのか、はかることができません。
山崎先生の9月7日のFacebookの投稿より
またPHPのフレームワークであるLaravelを分かりやすく解説した、「PHPはじめてのフレームワーク」シリーズなど執筆活動も平日・休日の授業の合間を縫って精力的にされており、新しいプロダクト開発にも日々奮闘されています。
「PHP 初めてのフレームワーク Laravel5.5対応」 購入はこちらから!
このブログではプログラミング学習をするたくさんの生徒を見てきた山崎先生が実感した、プログラミング技術が伸びる人の特徴、また先生自身がこれまで実践してきたフリーランスエンジニアとしての成功戦略などを詳しく紹介します。
プログラミング学習の目的が明確な人が上達します
--プログラミングの技術が伸びる人の特徴ってありますか?
山崎先生(以下敬称略):目的がはっきりしている人ですね。ただ流行りだから、というようなあいまいな理由だと(学んでいても)何に使うのだろう?とふわっとした理解になってしまいます。
つくりたいものや目的が明確にあってプログラミングを学びはじめると、つくりたいものと関連性のない学習であっても「この機能、あれに使えるな」と情報をリンクさせることができます。インプットの質が変わってくるんです。
なので明確に目的がある人はG’sACADEMYで学んだことを自分のつくりたいものに応用させることができるんです。
--じゃあG’sACADEMYでも転職や起業、つくりたいアプリがあるなど、目的が明確な人のほうが技術も伸びる傾向にありますか?
山崎:はい、全然違います。それだけ(目的があるかないか)で技術の伸び方は全然違います。目的がある人は「これもやってみよう!」と自発的にどんどん発想が広がっていきます。逆に目的がないと授業でじゃんけんなどをつくっても、「ふーん、で?」で終わってしまいます(笑)
--(笑)プログラミングで何かつくっても「これが何の役に立つの?」という感覚になってしまうんですね、きっと。
山崎:「(プログラミングが)何の役に立つのか」という問いへの答えは、その人の考え方で決まるので、そこは僕では教えられないです。ただし、目的がない人でもプログラミング学習をつづけていくうちに、どんどんやりたいことは芽生えていきますよ。
G'sACADEMYは自走力を鍛えるプログラミングスクールです
--私がプログラミングを学んでいて感じたのは、分からないことがあった時にすぐに人に聞くのではなく、自己解決をした方が技術は伸びるな、ということなんですね。
山崎:はい、それは僕もそうだと思います。そして学校というのは本来そういう人(自己解決能力が高い人)を育てるところだと思います。G’sACADEMYではいわゆる「自走力(自力で走る力)」を育てることを大事にしています。
--授業のあとに出る課題なども授業の内容を聞いているだけではダメで、自分で考えないとこなせないですもんね。
山崎:はい、GGA(グローバルギークオーディション=G'sACADEMYの卒業デモ)はある意味この自走力が試される場でもあると思っています。授業の課題というアウトプットを積み重ねるためには、分からないことも必死で調べるという作業を繰り返さなくてはいけないので、自走力を鍛えられるんです。
一番新しいGGAの記事はこちらです!↓
--周りの人に聞ける環境よりも、自分で解決しなければいけない環境の方が自走力が鍛えられ、技術も伸びるいうことですか?
山崎:はい、ただし最初の何も分からない状態から自己解決しなければいけない環境は良くないです(笑)。しかし授業で課題を提出する、という作業を積み重ねたあとだったら大丈夫です。自分の力で走ることができます。
投資価値の高い技術を選び発信するのが成功する戦略です
--先生は「これ、必要?」というプロダクト制作の依頼などがあった時、どうされていますか?
山崎:僕は魅力的に感じない技術を使用する仕事の依頼は基本的に断ります(笑)。
--(笑)断られるんですね。
山崎:会社員時代はやらざるを得ない仕事もあり、やりました。しかし今はフリーランスなので自分にとって投資価値の高いもの(仕事・技術)を重視します。
そしていつも選択肢の中にやった方がいい!と感じるものがあるので、それを選びます。Laravel (PHPのフレームワーク)もそうです。自分にとってこの先メリットがあると感じられるものは、頑張ることができます。
--需要の高いプログラミング技術を調べているということでしょうか?
山崎:はい、でもよくG’sで栗林さんから話を聞いて情報収集もしています。(栗林さん=G’sACADEMY一期卒業生で、元G’sACADEMYスタッフの方。現在はLINEのフロントエンジニアとして働きつつ、継続してG’sの動画制作のお仕事もされています。)
--投資価値の低いものは請け負わないんですね。
山崎:はい、断ります(笑)
--投資価値の低いものは断るといったような、フリーランス戦略はなられた当初から立てていましたか?
山崎:いえ、これにはきっかけがあります。2008年頃ですが、Adobe Flashがきっかけです。Adobe Flashでデスクトップアプリができるというのを初めて知った時にきっかけは生まれました。
Adobe Flashでデスクトップアプリがつくれることに感動して1週間くらい夢中でつくっていたんですよ。そしてつくったアプリをAdobeのサイトのギャラリーに投稿したんです。そしたら投稿したアプリのダロンロード数が3年間くらい1位、2位、3位をずっと行ったり来たりしていて・・・。
--すごいですね・・・!
山崎先生が開発されたデスクトップアプリ↓「AIR Note!」
「AIR Note!」についてはこちらの記事で詳しく紹介されています!
山崎:そしたら雑誌から執筆依頼がきて、他の雑誌からもアプリについて教えてほしいと依頼が来ました。そしてその時に「このまま上手くいったらもっと色々な仕事が来て、上手くやっていけるんじゃないかな?」と思い、フリーランスとしての道が見えましたね。
こちらは「AIR Note!」が掲載された雑誌の一部です・・・!すごすぎます・・・!
売れているエンジニアの半分は純粋に技術の高いエンジニアですが、もう半分は自分を売り込む力のあるエンジニアだと僕は思います。
--自分のことを発信する力なんですね
山崎:はい、そして自分を売り込むのは、新しい技術が生まれた時が適切なタイミングなんです。
HTML5もそうなんです。HTML5は2009年頃に生まれた新しい技術ですが、その当時は誰もやっていなかったんですよ。HTMLとJavaScriptでWebアプリケーションをつくれるなんて当時は誰も知りませんでした。
でも僕は先行してHTMLとJavaScriptでWebアプリケーションをつくりました。前回の記憶(Adobe Flash)があったので、色々なところに発信していきました。アウトプットしまくって、その技術の第一人者になったんです。
--すごいですね!
山崎:チャンスというのは、自分が見てどれがチャンスなのか分からないじゃないですか。なのでチャンスかどうか分からないものを取って、自分でそれを先行発信して、流行らせるくらいの勢いが大切なんですね。
--先生にとってのLaravelもチャンスだったんですか?
そうです。ちょうど今年の2月にLABコースの授業が終わった時期があり、前から探していたPHPのフレームワークをチェックしはじめたんです。そしてLaravelに行き着いたんですが、実はLaravelの人気が上がりそうだっていうのを教えてくれたのは、栗林さんなんです。
--えぇっ、そうなんですね!
山崎:Googleトレンド(ある単語がGoogleでどれだけ検索されているのか、トレンドがグラフで確認できるツール)で見ていても、上昇の勢いがPHPのフレームワークの中でも圧倒的でした。それもあってやるなら今だなと思い、まずは出版されているLaravelの本について調べました。すでに2冊ありましたが、どちらも評価が低かったんですよ。じゃあ自分でつくっちゃおうと思い、つくりました(笑)
--(笑)
山崎:あとはつくったものを自分でどんどん発信して広めていきました。そしてそのうちLaravel自体の普及率も勝手に上昇していきました。
--未開拓の技術を先駆けして手を付け、積極的に発信するという「戦略」なんですね
山崎:はい、でも以前はエンジニアとして認められるにはキレイなコードを書くことだと思っていました。なので誰よりもキレイで効率の良いコードを書こうと努力していました。でもそれは「中身」だけの話なんです。
--コードの記述が綺麗でも、SNS発信でのプロモーションや実際のユーザーの使用感といった、「外」の見え方はまた別ということですよね?
山崎:はい、結局ちゃんと動いてユーザーが使いやすくて、特に問題がなければいいんです。なので今は「外(制作物のPR、ユーザーの使用感)」の側面を重視しています。
最初にフリーソフトをつくった時、とある有名な会社にそのフリーソフトと紹介された雑誌を持って行ったんですね。それで面接をしたら、「すぐに(フリーソフトを)配ります。」と言ってもらえました。自分の商品価値を高めることが大切なんです。
山崎先生の好きなプロダクトとサービスはなんですか?
--先生は技術とアイディア、プロダクト製作ではどちらを重視されますか?
山崎:うーん…、やっぱりアイディアですよね。エンジニアの気持ちとしては技術を追求したいところなのですが、普通の人が使いたいと思ってもらえて初めてつくったものは活かされるので、アイディア、面白さがないと意味がないです。なので綺麗にコードが書けるより個人的には、アイディアとリリースまでの速さを重要視しています。
--先生のいうアイディアというのは、「今までになかった画期的なもの」という意味合いですか?
山崎:2つあります。「今までになかった画期的なもの」と、「これがあればいいのにとみんなが思っていた、解決策に近いもの」です。
そして「これがあればいいのにとみんなが思っていた、解決策に近いもの」というアイディアはすでに世に出ていることもありますが、操作性が悪いなど、何か理由があり普及していないことも多いです。「何か」が足りないから市場を勝ち取れていないんですよね。
すでにいっぱい似たアイディアが世に出ていても、飛び抜けていないから普及されないんです。そしてそこで飛び抜けるのに必要なものは、分析じゃないと思うんです。
それは自分の心のなかに潜在的に秘めているものや、経験した何かを持っていて、周りには見えなくても「見えている」人がいます。そしてそういった人がアイディアを生み出し、飛び抜けます。
--じゃあ先生はマーケティングでの目線ではなく、自分のルーツ、経験などからアイディアは生まれるという考えですか?
山崎:はい、そう思っています。基本的には自分がつくりたいものを全部つくりますし、つくったものの操作がしづらかったりしたら、ちょっとずつ改良を繰り返して、良いものにしていきます。
--そのアイディアに対する考えは先生の信条ですか?
山崎:そうですね、信条です。ただし全て自分の内側から出てきたものかというと、ちょっと違います。セミナーなどをしたときに、「これが不便で・・・」「こんな機能があれば・・・」といった話を他の人から聞き、その意見をもとにつくったりもします。
でも最終的にマネタイズを求められます。しかし僕の場合、(プロダクトではなく)自分自身を軸にしてマネタイズし、売っていくんですよね。自分が広まれば、仕事が増えて収入も増えます。
なので自分が心から面白いと思ったものをつくり、積極的に発信していきます。そして思うように広まらなかった時はTwitterなどで朝、昼、晩とハッシュタグを付けて発信を継続します。すると見てくれる人が増えて、勝手に拡散されていきます。
そしてこの拡散は「エサ」なんです。拡散がきっかけで名前が売れて、講演の依頼などがくるようになります。
--先生は難解なエラーなど、超えるのが難しい局面がきた時、どうしていますか?
山崎:なんとかなります(笑)
--(笑)何とかなるというのは・・・?
山崎:とことん追求します!とにかく試していきます。
--仮説検証を繰り返すのでしょうか?
山崎:はい、エラーを直すのは無限の宝探しです(笑)ダメかもしれないけれど、とにかく試しつづけていく感じです。ジーズの生徒と一緒です。とにかくコードを打って、確認して、打って・・・を繰り返します。
--エラー修正のための仮説検証の精度は、プログラミングの経験値が上がるのと一緒に上がっていきますか?
山崎:はい。つくった分だけどんどん精度は上がります。つくったものが多い分、乗り越えているものも多いので、エラーを改善させる精度は上がっていきます。
若いエンジニアと経験のあるエンジニアの違いは、さまざまな技術やコードを知っていることではなくて、「乗り越え方」を知っていることです。
--エラーなど壁にぶつかった時の乗り越え方を知っているということですか?
山崎:そうです。経験値だけが生き残っていきます。
--私個人が卒業制作をつくっている時に感じたのですが、自分一人で制作をしていると、そのプロダクトが社会のニーズから離れてしまうんじゃないか、という不安があったんですね。
山崎:いいんじゃないですか?離れてて。
--Σ('◉⌓◉’) 社会のニーズから離れた、突飛であってもですか?私はものづくりの前提が「人に必要とされるもの」をつくった方が良いと思ってしまうのですが・・・。
山崎:それは正しいんですけれど・・・。ただしみんなが欲しい、という軸に合わせていたら、なんとなくつまらないものになってしまうというか、無難なものになってしまいます。それよりは自分のなかで納得のいく、腑に落ちるものをつくる方が良いです。
--自分がつくりたいものをつくって、周りが求めてくれるようになるまでつくりつづけるのが良いということでしょうか?
山崎:そうです。似たような話でTwitterの人の話があったのですが・・・。
--Facebookに上げていたやつですか?
山崎:そうです!
--こちらの記事です!↓
このあとも先生とのお話はつづきましたが、また機会ありましたら発表させていただきます・・・。
先生も私たち生徒と同じようにエラーが起きた時はコツコツと対処法をトライ&エラーし、そしてエンジニアとしての経験値を積み上げており、無限の宝探しをするようにエラー修正をおこなっているという言葉が印象的でした。
そして先生は技術力を上げるだけではなく、作成したアプリをサイトへ投稿し、またSNSでの積極的な発信など制作物のプロモーション活動もおこない、自分自身が商品であるフリーランスにとって命綱であるセルフブランディングもしっかりおこなわれています。継続して一線で活躍される姿に生徒である私たちは、びっくりし感化されるばかりです。
山崎先生、ありがとうございました^_^