大学生の時はどう過ごしてましたか?学生生活は2ヶ月しかしていなくて、バイトもせずにひたすら大学の勉強とタイピング練習ばっかりやってました(笑)。自分は地方出身で、都会に憧れを持って上京してきました。それで学生生活は勉強をたくさんしながらエンジョイしようと思ってたんですが、勉強をしようと思って大学に来ている人が少なくて愕然としてしまいました。入学して2ヶ月ぐらいで人材系のベンチャーにインターンで入りました。そこから夏休みとかも遊ぶことなくひたすら仕事、仕事、仕事という感じです。大学も父親には叱られましたが辞めてしまいました。インターンは東京で知り合った先輩に誘われてやってみれば?という感じでやり始めてみました。学生生活が予想よりもおもしろくなさすぎたのと、仕事で得られる充実感によって仕事に意識が集中していったという感じです。遊ぶおもしろさより働くおもしろさを先に知ったのは今から思うとまあ逆によかったのかなと思います。インターンでやった業務は人材管理が主でした。会社自体はITにあまり縁のない会社だったんですが、大学を中退してそこに就職して8年ぐらい務めました。エンジニアになろうと思ったきっかけは何ですか?エンジニアになろうと思ってた訳ではなくて、その会社から求められる役割がどんどん変わっていって気づいたらエンジニアをがっつりやっていたという感じですね(笑)。経歴は変わっているかもしれないです。インターンをしていた会社は、インターンを社員として積極登用していく会社で社員数は何百人という単位でした。若手に積極的にチャンスや環境を与えていこうと文化があり、事務やPCスキルを身につける研修を強化する施策を打ち出す際に自分に声がかかって、その研修カリキュラムの作成と実際の研修を担当するようになりました。当時は自分もよくわかっていないながらも誰かを教えないといけないという状況になり、寝ずに勉強してまわりの方に研修をしていました。ワードやエクセル、パワポなどを教えていたりしたのですが、どんどんやれることを増やしていこうということで、HTML・CSSのコーディングを勉強したり、映像制作やデザインを一通り勉強して、研修に組み込みはじめました。それがプログラミングに触れたきっかけです。スキルがついてきたので、自社のサイトをリニューアルしようというプロジェクトが立ち上がり4、5人がかりでサイトをリニューアルしたのがプログラミングを使った最初の仕事でした。日常業務自体も忙しかったので、業務が終わってからそのプロジェクトのコーディングをするという生活をしていました。マクドナルドに泊まって作業をしたことを今でもよく覚えています。そのプロジェクトが終わった後、会社でシステム開発の案件を受託できたのですがプログラミングが全然できないにも関わらずその案件に自分が投入されました(笑)。知り合いのSEの方にも協力してもらいながらほぼゼロから勉強しながらいきなりシステムを作ることに挑戦しました。当時は全然楽しむことなんかはできなかったですが、幸か不幸か外的要因によって力はついたかなと思います。4ヶ月かかってなんとかシステムを組むことができたのですが、できあがった瞬間に「これめっっちゃ楽しい!!!この達成感ハンパじゃない!」って感じで開花しました。そこから本当の意味でエンジニア人生が始まったという感じです。そのプロジェクトをきっかけにどんどん受託を受けられるようになってきたり、自社サービスを作る機会というのにも恵まれました。思い返すとどのプロジェクトもすごい思い出深いです(笑)。がむしゃらに業務をこなしている内に次第と業務内容も変わっていき、クライアントとの折衝と社内エンジニアのマネジメントをするようになりました。会社全体のリテラシーがあまり高くなかったので無理難題を振られることはありましたが、それによって逆に既存のものをうまく組み合わせたり、すでに組まれた仕組みを活かして無駄な開発を減らすといった発想の強化につながりました。打ち合わせや社内調整が大半の業務となり、コードがあまり書けなくなってしまってきていることに疑問を持ちはじめ、エンジニアとしてちゃんとレベルアップするためにその会社を辞めることを決意しました。退職後はどうされましたか?その後、前々から声をかけてもらっていた知り合いが創業した会社にジョインしました。会社が小さかったので、ひたすら受けられる仕事は受けてWeb制作したりシステム開発をしていきました。3年間ぐらいはひたすら受託のプロジェクトを受けて仕事をしまくっていました。ディレクターやデザイナーもいましたが、開発者はほぼ自分1人という小さいチームでした。当時は仕事のニーズに応じて、案件の要件を満たすために新しい技術を自分で導入して学んでいきました。要件が10あるとして、8は自分の力でできて、2は今の自分の技術だと難しいかもなと思ったものでも仕事を受けていました。プロジェクトの途中ではめちゃくちゃしんどい思いをしますが、そうでもしないとスキルが身につかないなと思ってたのでわりと無茶していました。会社の売上は立てていかないといけないなと思いつつも、そういうプレッシャーの中でもスキルは身につけたいというエンジニアの欲求は失われなかったので、どちらも満たすにはそういう無茶もしないといけなかったです。ある意味で自分のエンジニアとしての生存戦略だったのかもしれません。実践であれやこれやと覚えたのである意味で使える筋肉しかないから良いかなと思っています(笑)。1人での開発ということはフリーランスで受けていたということですか?厳密には違いますが、会社の規模が大きくなかったので1案件すべて1人で開発するということも少なくなかったです。いった意味でフリーランスと近しい形態で開発をしていました。1人での開発をおよそ3年やりましたが最後の1年は気持ち的にはフリーランスのようなものでしたね。フリーランスの仕事について自分が思うことは、開発できるもののボリュームに限りがあるなということです。最初は納品できてお客様に喜んでいただいて、自分自身も満足いく仕事ができました。開発できるものがパターン化してきたりできる範囲を広げることが難しいので、規模の大きい仕事がしたい場合は一人称での仕事に限界があるなと思います。あと、良くも悪くも縛られないということが特徴としてありますよね。まわりに仲間がいて自分も仲間と切磋琢磨することで刺激を受けるということがあり、それが楽しいかなと思います。一人称のフリーランスの場合、その環境が作りづらくなるというのはあるかもしれないです。フリーランスでも常駐型で開発すればその案件で一緒に仕事をする方とも関係は築けると思いますが、受注して1人で開発して納品という形であれば、それはなかなか難しいことだと思います。スキルを常に向上させていこうという意識を保ちづらいというのもあります。生活するためのお金を稼がないとという気持ちが働いてしまって、気が乗らない仕事もやる必要が出てきます。将来の自分へ投資するようなチャレンジというのは僕は難しかったです。本当の意味で、ちゃんと自分のスキルを磨いていきたいと思うのであればフリーランスである必要はないという思いはありますね。得意不得意があるものだと思いますが、自分の場合は、不器用だったのでそれが難しかったです。フリーランスは経験としてはすごく大事で、1回はやってみるのはいいと思っています。自分は経験した上で継続してフリーでいることはあまりオススメはしないです。GizumoのCTOに就任するきっかけは何ですか?なぜやろうと思ったのですか?きっかけとしては、教育が好きだなって思う熱が再燃したことと、代表の井上さんと一緒に仕事してみたいなと思ったことですね。Gizumoの若手エンジニア2人と一緒に仕事する機会があり、僕からするとエンジニア歴としてはかなり後輩というか、スキル感は離れていました。僕は一定期間自分のスキルアップに専念していたのですが、その時久しぶりに誰かにプログラミングを教えるということをやってみて自分の中で教育が好きだなって思う熱が再燃して、その若手を面倒みようという気持ちになりました。あと、以前から代表の井上さんとは顔見知りで、ちょくちょくお声がけいただいていました。興味というか一緒に仕事をしてみたいなという思いはあったのですが、その時の自分の仕事が落ち着くメドが立たなかったのでお断りさせていただいていました。教育好きかもなって気持ちとお声がけいただいたタイミングとか、諸々が相まってGizumoへの参画を決めました。好きな技術は何ですか?難しい質問ですね(笑)。うーん、Emacsと言いたいところですが、エディターですね。好き嫌い自体がそんなにないですね。言えばLinuxです。自分が知っている範囲よりもそれ自体の奥が深いのでもっと勉強したいです。PHPの開発歴が豊富ですが、使ったことのあるフレームワークは何ですか?業務ではZend、Symfony、CakePHP、Laravel、Fuel、CodeIgniterとかは使ってますね。Laravelが1番好きです。他のフレームワークに比べて可動域が違うというか、他のフレームワークと比べて細かいところまでコントロールしやすい作りになっているなって思います。Cakeだと細かい特性を知らなくてもある程度使えると思いますが、Laravelは結構細かいところまで知らないと使いこなせないです。自分好みに使いやすいです。あとWordPressは使った案件数でいくともはや空気のような存在って感じかもしれないです(笑)。プログラミングへのモチベーションが切れた時はないですか?まったくないです。得意な開発はどんなものだと言えますか?8割のものを出すまでのスピードならいい線までいくかもしれないですね(笑)。あとはソースコードの読解力についてはそこそこ場馴れしていると思います。有り物を野良カスタマイズするとかそういうのばっかりやっていましたし、書き方が統一されたチームで働くというよりまったく知らない誰かのコードを読んで仕事をすることが多かったので。独学は大変でしたか?独学はめちゃくちゃ大変でした。近くにがっつりと書けるエンジニアの方があまりいなかったので、「こんなことできるんだ」というのを知れる機会に恵まれず、すべては聞いたことや自分で調べたことしかない世界でした(笑)。自分の中で正解を見つけるまでは不必要に時間がかかってしまっていたのですが、正解を見つけた時は絶対に忘れないし無くさないというのはある意味で独学のメリットかなと思ってます(笑)。独学の学習法はありますか?基本的なスタイルとしては、まずその技術で何ができるかを知ることからはじめます。コードを書いたりとかはしないで、何をするための技術なのか、実際何ができるものなのかというのを知ろうとします。チュートリアルの多くは細かいところまで記載されていないので、ドキュメントをざっと眺めて理解していき、どういう技術なのかを把握します。それから自分の中でこの技術でこれができるならこういうこともできるだろうなとか、イメージできるような状態をつくります。それからはじめてチュートリアルをやります。誰かに教える時も、まずその技術で何ができるかを知ろうというのはよく言います。学べる生放送コミュニケーションサービス『Schoo』でPHPの講座を開催Gizumoでのエンジニア育成についてはどういう意見をお持ちですか?基本的には、エンジニアリングの楽しさやおもしろさを伝えていける環境でありたいなというのは思っています。僕は純粋に好きだからやっていますけど、逆に仕事だからやるっていう人は逆にすごいなと思うというか、好きじゃないと極めたりとかできないなって思っています。ぼくが教える人に言いたいことは、なんでエンジニアになりたいのかって思ったことを明確にするとかこれから自分が作るであろう世の中のアプリケーションに積極的に触れてみるところを意識してほしいです。同じことができるアプリを数種類使ってみるとか、そういうのはおもしろいじゃないですか。プログラミングを教える時に気をつけていることや意識していることは何ですか?方針としては、プログラミングを好きになるためのアクションを増やすのがいいと思ってます。技術に走らなくても、好きだと勝手に調べたくなるじゃないですか。僕はやらざるを得ない状況に置かれてプログラミングが上達した経緯はありますが、その状況に身を置くことを他人に強要するというのは酷なので求めないです。おもしろさなしに続けるのは難しいので、楽しめるようになることは重要かなと思います。うちの会社で研修を受けてくれているメンバーには、昨日と比べて自分が少しでも成長していることを噛み締めながら学べるようになってもらえると理想だと思っています。いうことできるようになっている、ああいうことできるようになったなを意識してもらうことを心がけています。教える側も、いま学んでいる技術がこういうところでこう活かせるよと具体例を出せることは常に念頭に置いていますね。アプリケーションは当たり前のように使われていますが、紐解いていくとこういう機能が実装されているよねって分解して考えることは意外と難しいです。僕らが普段使うようなサービス提供者はそう感じさせないように使いやすく作っているので。今後、エンジニアとしてどうしていきたいですか?エンジニアとしては作れないものを無くしたいという根本的なモチベーションがあるので、ひたすら作れないものは無くしたいというところを突き詰めたいと思っています。技術的な側面でもビジネス面でも同じで、やりたいことが実装できないというのは無くしたいです。会社としては、自分たちでこれを作ろうという時にすぐ作っていけるようなエンジニア陣を揃えていきたいという気持ちがあります。いうメンバーを揃えるためにも教育をやっているというところがありますね。できる限り増やして、エンジニアだらけのエンジニアの会社というのはもっと強化したいです。エンジニアになりたいと思っている方へメッセージはありますか?「なりたい」と思ったらなれます。なりたいという強い気持ちがあればうちに来てもらえればやれることは何でもやりますと言いたいです。後は「なりたい」と思った時の記憶を大事にしてほしいです。REQUIREMENTENTRY。