MicrosoftのMVPを9年連続で受賞している「遅咲きエンジニア」

山崎大助氏:今日は「遅咲きエンジニア オリジン。プログラミングと出会って、どう人生が変化したか?」というタイトルです。まず僕のプロフィールですが、少しだけ自己紹介します。

GoogleやYouTubeで「遅咲きエンジニア」と検索してもらうと僕が一番上に来ます。なので、日本を代表する遅咲きエンジニアの1人だと(言えると思います)。今日は最高齢の若宮さんがいるので、ちょっと遅咲きエンジニアのレベル感が違いますが、でももともとは僕のほうが先です(笑)。

(会場笑)

「遅咲きエンジニア」で検索すると僕が出てきますが、今はMicrosoftのMVPというものを、2013年から9年連続で受賞しています。遅咲きで始めたけれど、どうやってMicrosoftのMVPになったか、あとはサービスの開発をして企業さんに応援してもらえるようになったのか。人生の転機というか、そういった話ができればと思います。

特にプログラミングの初学者の方、これから学ぼうと思っている方、今苦戦されている方。学んでいても「なんか自分の人生が変わらない」という感じになっている方もたくさんいると思います。

話の内容が進んでいくうちに、僕もやはり苦労した時期があったり、うまくいって人生がちょっとずつ変わっていった時期とか、そういう話が出てきます。そこらへんを楽しんでもらえればいいかなと思います。ということでみなさん、楽しんでいきましょう!

(会場拍手)

それではやっていきましょう。ちょっと固そうな話をしてしまいましたが、僕は今ジーズアカデミーの学校長をしています。もともとは講師をしていました。エンジニアをしてから講師になって、今は学校長としてやっていますが、今でも開発はやっています。プログラミングはやはり楽しいです。

物を作って人に使ってもらって、それを喜んでもらう。僕らもそれを使ってもらうことによって、喜んでもらっている顔を見てうれしい。プログラミングはやはりやめられなくなります。他にもいろいろやっていますが、実はデジタルハリウッドの大学院の先生もしています。「山崎教員」とオレンジで入っている、真ん中の写真ですね。

ジーズアカデミーの学校長をしつつ、大学で教えたり大学院で教えたりしながら、自分の開発もやっていたりするところが、今の僕の立ち位置になります。

エンジニアに興味がありますか?プログラミングに興味がありますか?

みなさんにいくつか質問があります。(1番は)「エンジニアに興味がありますか?」「プログラミングに興味がありますか?」。これは、プログラミングそのものということですね。例えば「僕はエンジニアになりたいんです。だけど別にプログラミングに興味ないです」という方もいます。

2番は「プログラミングに興味がある?」。どちらかというと、例えば「今はPythonを学んでみたい」とか。ただ単にプログラミングを学んでみたいと思っている方は2番だと思います。

3番は、僕が28歳からキャリアをどう変えたのか、「これは気になるな」という方もいると思います。そういったところがあれば3番。4番は「楽しく働きたいと思っていますか?」。5番は、「起業・フリーランスに興味がありますか?」。今見ている方は、だいたいどれかに当てはまるはずです。

必ずどれかに興味があって、今日見に来てくれているはずなんですよね。なので、この方々に対してお話をしたいと思います。

キャリアとデザイン

「キャリアデザイン」という言葉をみなさん知っていると思います。自分自身の職業人生です。キャリアを自らが主体となって構想し、実現していくことです。キャリアデザインというと、なんとなくイメージがボッとなると思いますが、自分の人生をどうしていきたいのか。これをキャリアデザインと呼んでいるんです。

僕は28歳まで実はアパレル業界にいました。自分で人生を変えたいと思い、キャリアのデザインをして変えてきた1人です。

実際にプログラミングをやってみてどうだったかと言うと、やはりキャリアに大きく影響したと思っています。プログラミングをやっていなかったら今の自分はないし、たぶんアパレルで、普通のサラリーマンをやっていたんじゃないかと思います。

自分自身、個人的にはそんなにサラリーマンに向いていないとは思うので(笑)。やはり向いている人、向いていない人がいると思うんですね。向いていないのにサラリーマンをやっていたら辛いじゃないですか。僕は、プログラミングのおかげで「自分らしい生き方」を見つけられたと思っています。だから、今日のタイトルにまさに僕はピッタリだと思います。

少しだけ僕の話をします。「私のキャリアデザイン」ではなく、「キャリアとデザイン」について話します。僕はアパレル業界からスタートして、28歳までやりました。28歳からパソコンを始めたんです。それまでは実はキーボードさえ打ったことがありませんでした。だから、「アルファベット入力って何?」というのが28歳の状態。

キーボードを触ったことがないから、アルファベット入力もできない。つまり今で言うと、スマホも打てないわけですよ。今そんな大人います?(笑)。でもそこから始めてもエンジニアになれるんですよ。そのロールモデルの1人が僕だということです。

みなさんの中で、もしかしたら「今から始めても遅いんじゃないか」「40、50歳から始めても遅いんじゃないか」と思う方もいるのではないでしょうか。そんなことないです。キーボードさえ打ったことのない人間が、28歳から始めて、パソコンというものを初めて知ってやってもなれるんです。結局は諦めずに継続することが最も大事です。最後のほうにも同じことを言いますが、継続と諦めないこと。これだけです。実際に28歳から始めてもエンジニアになれました。

写真提供:G's ACADEMY

『数学ガール』という本をみなさんは知っていますか。確か結城浩さんという方が書いていると思います。僕がエンジニアになったのは、たぶん20年ぐらい前だと思うんですが、(彼は)Javaの本を書いていたんです。実はJavaの本を何冊か書いていて、それを見た時に「僕もこういう本を書くような人になりたい」と思って、目指したくなったんです。何も打てないのに(笑)。だけど夢は大事で、そういう気持ちがないとそっちの方向に行けません。

それで4番、「誰もが知っているサービスを作りたい」とも思いました。「まずエンジニアになること」がプログラミングの初学者の方々がまず第一に考えることだと思います。そして「すごいエンジニアになりたい」というのが第1段階。その次の段階となると、どんどん人は慣れてくるので、夢と目標をどんどん上げていくわけです。

僕の場合は、「世界中の人に自分が作ったアプリケーションを使ってもらいたい。それで便利になって幸せになってほしい」と思うようになったんです。なので、2つの夢があったわけです。まず1つは本を出版できるような人になりたい。もう1つはサービスを作って、世の中の人に僕の作ったアプリを使っている人が幸せになってほしいと思った、ということです。

スーパーエンジニアを目指した

そこに向かうために僕がやってきたことを今からみなさんにお話しします。僕は最初、スーパーエンジニアを目指しました。たぶん(今)学んでいる方もそうだと思います。一番にならなくても、ピラミッドの上の層を目指したいと思うのは共通でしょう。

「スーパーエンジニアとは、すごいコードが書けて技術力がハンパない」。それがスーパーエンジニアだと僕は思いました。「スーパーエンジニアになれば、執筆依頼や講演依頼などがたくさん来るんだろうな」と僕は思っていました。世界がグッと広がると思っていました。

しかし、あるきっかけでこの思想が間違っていることを知ります。なんだと思いますか。そんなもの知らない? わかりました、じゃあ進めていきますね。

そのきっかけは、「今まであればいいなと思っていた、作りたいアプリを作ったこと」だったんです。たぶんこれからエンジニアを目指す方、またはもうなっている方、今苦しんでいる方、いろいろいると思います。

僕は最初受託の会社にいました。みなさん受託ってわかりますか? 例えばA社さん、B社さんが「Webサイトを作りたい」「こういうWebアプリケーションを作りたい」となり、それを制作会社にお願いする。その制作会社側が受託の会社なんですが、僕はそこの受託の会社でエンジニアとしてやっていたわけです。

受託の会社でやっていると、実はいい面と悪い面があります。いい面とは何かというと、例えば1つの技術に専任して、集中して深掘りできるんです。例えば「JavaScriptやりたい!」「フロントエンドやりたい!」となったら、フロントエンドだけやればいいんです。そこを探求できるんですよね。だからまずプロフェッショナルを目指したいというのであれば、その受託の会社だけでもなれます。

僕はその時どちらかというと、サーバーサイドと呼ばれている、データベース側のほうの専任としてやっていました。それまで受託の会社で何年か、たぶん4、5年ぐらいやっていたと思いますが、1つ問題があったんです。何かというと、専任でできていたのはいいんですが、1つを作り切ることができないんです。

例えばフロント側の画面を想像して設計してとか、UIやUXをどうしようとかはぜんぜん考えていなかった。さらに、データベースの設計やサーバーサイドの処理は書けるけれど、それをどうやって世界中の人に知ってもらうのか、マーケティングの部分は考えてもいなかった。1つのアプリを作り切って、それを人に使ってもらうところまで、想像したことがなかったんです。ただ技術だけを追求していました。

スーパーエンジニアに僕はなれると思っていましたが、1つのアプリを、まるっと1つ全部自分で作ったことがきっかけで、違うことに気づけたんです。

最初に作ったフリーソフト「AIR Note!」

(スライドを指して)これが、人生で初めてすべてを自分で考えて作ったアプリ、フリーのソフトです。これは僕が2008年くらいの時(に作ったもの)だったと思います。

受託開発だと中堅、大手クラスの「〇〇ソフト」という、当時ブラックとして有名だった企業で働いていた時、あるクレジット会社さんのトップページにある、WebサイトでアニメーションさせるようなAdobe技術であるFlashの担当をしていました。

AdobeのFlashの技術でデスクトップアプリが作れると。Webの技術者なのにデスクトップアプリが作れるのかと。そこで「おー! マジか!」とときめいたんですよ。今までブラウザー上でしか動かせなかったものが、みなさんのデスクトップで動くことに驚きました。

実はその前に、例えばコピーの履歴を取るソフトはあまりありませんでしたが、スケジュール管理のソフトでそんなものがあればいいよね、という、同じ会社の人たち、営業職の方々の話を聞いていました。

写真提供:G's ACADEMY

当時はパソコンがダウンすることはよくありましたし、メモリが足りなくてソフトがバーンッと落ちて、メールを打っている内容が消えり、Wordで文章をコピーした内容が全部消えたとかよくありました。それを僕のソフトを入れれば、例えば1万件ぐらいコピーの履歴が自動で残ると。さらにあいまい検索でコピーを検索して、いつのコピーかを取ってこれる。営業の方々、または事務の方々が便利になるようなツールを考えました。

(スライドを指して)PDFのボタンが実はあって。左側のスケジューラーみたいな部分ですね。スケジュールを入れておくと、しっかりと1枚のA4のかたちでPDFで吐き出されて、業務日報的に提出できるようになっています。他にも翻訳機能があったり、文章構成APIが「この文章はちょっとおかしくないですか?」と教えてくれたり。あとはお天気APIなどがあります。

13年ぐらい前から、僕もこういうアプリを作っていました。当時は、Adobe AIRという技術で、初めてフリーソフトを作って、そのAdobeのギャラリーに上げました。そうしたら何が起きたかというと、3年間ぐらいずっとダウンロード数が上位3位ぐらいに入るほど、有名なソフトになったんです。

Adobe AIRという技術を使って「AIR Note!」というソフトを作って、それが有名になりました。これは僕がほしくて作ったんですよ。

制作時に聞こえてくるダークサイドの声

作った時にみなさんも気をつけてほしいんですが、ダークサイド側の声が聞こえてきます。何かというと、まず開発仲間、またはその会社の開発の同じチームの方々、ちょっと離れた周りの方々から非難です。「Go GO!!」と書いていますが、非難がありました。

何かというと、「新しい技術? 今後使われるかわからないよ」。そんなことを言ってくるんです。「そんなアプリ誰が使うの?」「マネタイズはどうやって広げるの?」。そんな話ばかりです。

その声を1週間ぐらい聞いていて、周りの声が自分の確信を歪めかけていました。「やはり必要ないよね」「誰も使わないかもしれない」「1週間がんばって作った意味がないかもしれない」と思い始めてしまいました。

しかし、「自分がほしいと思っているものを信じてやりきってみたい」という気持ちに変わりました。今まで1つのアプリを作るという経験がなかった時に1つ作って、「これは僕がほしかったものだ」と。それもみんなにも使ってもらえたらうれしいと思う、メチャクチャピュアな気持ちです。誰に使ってほしいとかではなく、自分が本当にほしいと思ったものを作ったから、それを発信したんです。

自分が本当に作りたいと思っているのであれば、人の意見は聞く必要がないと思えたのは、この時が初めてでした。それまでだったら「やはりそうだよね」「こんなもの誰が使うんだよ」「他にも似たようなアプリはいっぱいあるよね」と思っていたかもしれません。ですが、発信しなければ何も起こらないんですよね。

でもこの時、僕も何か確信がありました。本当に自分がほしいものを作って絶対に使われる(自信)というか、何かあったんですよ。本当にわからない何かを感じてやっていました。

この時、「僕のアプリはこうだよ」「これがイケているんだ!」「みんな使ってくれ!」と周りの人にいろいろ説明しました。でも伝わらなかったんです。自分の思い描いている絵は、他人には絶対に見えないということです。

脳と脳がつながっているわけじゃないから、どんなに詳しく話していても伝えられません。おまけに生きてきた過程も違うし、習ってきた学校の環境も違うから、絶対に伝わらない。ではどうするかというと、結果を出すしかないんです。

ということで、先ほどお話したとおりヒットしました。(スライドを指して)この右側は、2009年ぐらいに調子に乗って作ったもう1個です。何回も言いますが、調子に乗ってです(笑)。

作り上げる能力を上げる

その頃はいろいろな機能を作っていました。この当時にはまだなかった、リアルタイムに翻訳してくれるチャットもその1つです。これもちょっと遊び心があって。後ろに上司や同僚が歩いていた時に、チャットを見られるのは嫌じゃないですか。

(その状況に対処するために)Ctrlキーを押しながらSpaceを押すと、ガウスがかかって曇るんです(笑)。逆に怪しいですが、1つのアプリを作ることによって、そんな機能も作れるようになりました。

そういった、一つひとつの機能をつける楽しさというか、完成したあとにさらに遊び心をつけていくことで、今までになかったスキル、作り上げるというスキルが身についていった時だと思います。設計どおりに作るのではなく、「こんなのあったらいいな」と自分で想像してすべてを作り切る能力は別です。なのでプログラミングを学んで満足は絶対にしてはダメで、そこから今度はすべてを作る能力を上げていかなければいけません。それにやっと気づくことができた時でした。

これに僕は6、7年かかっていたんじゃないですかね。プログラミングスクールは有名なところがいろいろありますが、作り上げる能力を上げるところとしての選択肢としては、僕はいいと思っています。

ちょっと話を戻しますが、アプリのおかげで、たくさんの本に掲載されることになりました! おめでとうございます。

(会場拍手)

(次回につづく)