優秀な企業勤めのエンジニアは週末にも個人開発する。だが、やろうと思ってもどこから手をつければいいのかわからないエンジニアも多いのではないか。今回お話を伺ったのは、サイバーエージェントに勤めながらアプリやWEBサービスを個人開発する宗定洋平氏。彼から"続く"個人開発の始め方のヒントを伺う。
企業に属するエンジニアでも、週末開発で個人のサービスやアプリケーションを開発する人は多い。また、そのような人は技術的なスキルアップを志向しているということで、人材市場からの評価も高い。
だが、各所でエンジニアの自発的な個人プロジェクト・週末開発が推奨されていても、なかなか手を出せている人はいないのではないだろうか?
今回お話を伺ったのは宗定洋平さん。サイバーエージェントにスマートフォンアプリのフロントエンドエンジニアとして勤務する傍ら、個人プロジェクトを立ち上げ、《EasyPost to Zaim》というiPhoneアプリの開発などを行なっている。
企業に勤めながら5年以上個人プロジェクトを続けてきた宗定さんに個人プロジェクトを続けるために必要なこと、取り組むことから得られる圧倒的なメリットについて伺った。
企業勤めのエンジニア必読のインタビュー。
― 宗定さんはどうして個人プロジェクトを始めるようになったんですか?
始めたきっかけは、新卒で入った会社で感じた劣等感みたいなものと、新しい技術や知らない言語への好奇心ですね。僕は文系学部を卒業し、Javaを使ってシステム開発を行なう企業に新卒で入社したのですが、理系卒の同期とは入社時点で差があったりして。そこで感じた劣等感から自ら勉強を始めていきました。最初は個人プロジェクトと呼べるほどたいそうなものはできないので、気になった技術や、仕事で使うJavaだけでなく、WEBのプログラミング言語の勉強し始めましたね。iOSアプリの開発を始めたのも、日本でiPhoneが発売されてすぐ手に入れて、これで動くアプリを作れるんだ!という興味から。まずはObjective-Cの勉強から始めました。
公開していないものも含めると、これまで10以上のサービスやアプリを開発、勉強の成果をアウトプットするブログも更新し続けています。
― それから、現在お勤めのサイバーエージェントに転職なさったそうですが、転職理由を伺えますか?
前職はBtoBのシステム構築のサービスで、単純にBtoCサービスを手掛けてみたかったんです。ユーザーの反応がダイレクトに返ってくる仕事がしたかった。そしてもっともっとコードを書きたかったんですね。前職だとコードを書く時間がだんだん短くなっていたんです。今ではコードを書かない日が無いというくらいエンジニアリングできているので充実してます。サイバーエージェントは新しい技術も積極的に取り入れていく文化があって、同僚も技術に対して貪欲。いろんな情報を得られるので非常に刺激的な職場です。
― 宗定さんの考えるエンジニア像ってどんなものですか?
エンジニアってやっぱり“技術屋”なんですよね。だから技術持ってなきゃどうしようもない。新しい技術にも積極的に触れて自分の道具箱に入れて使えるようにならないといけないのではないかと思っています。
― 企業に勤めるエンジニアが個人プロジェクトでサービス開発を行なうことが、各方面で推奨されていると思います。やりたいと思っているけどその一歩を踏み出せていない人はどこから始めていけばいいと思いますか?
準備が大事だと思います。ただ、準備していないと個人開発できないというわけではもちろんないですし、僕自身も意識的に準備して始めたわけではないですが、準備することで、個人開発につまづいてすぐにやめてしまうということにはなりにくいのではないかと。
― どんな準備が必要なのでしょう?
「こころ」と「モノ」そして「時間」の準備です。
まず始める動機が、「やったほうがいいよ」と言われたものだったり、「周りがやっているから」というものだと、勉強でも企画開発でもやっぱり身になりにくいというか。自分にとっての必要性が感じにくいのではないかと思うんです。個人開発は地道なもので、まず続けることが大事。なので、まず自分は何のためにするのか、技術を学ぶためなのか、もしくは実現させたいサービスがあるのか、というように、自分でやる意義を決めて、心の準備をしておくべきだと思います。
そして次は当然ですがモノの準備。僕は開発できるPCを常に持ち運んでいます。ただモノを持ち運ぶというだけでなく、いつでも開発できる環境に身を置くとことが大事だと思います。
そして最後は時間です。これに関しては、正直いきなり準備ができるようになるものではないと思います。でもその準備をしておくことはすごく大事だと思うんですね。僕は今、週末に限らず、出社前の朝や昼休みの時間、そして通勤時間など細かな時間を使って、少しずつ自分の勉強や開発を進めています。
個人開発はあくまでも自分のプロジェクト。自分がその時間を取ることを苦痛に思っていたらなかなか続かないのではないでしょうか。個人開発を習慣化して、自分の生活に取り込むくらいの感覚でいると、ずっと続きやすく効率的に、個人プロジェクトができるのではないかと思います。
― 宗定さんが感じる、個人開発を行なうメリットは?
個人開発の場合、止めることも妥協することもできるのですが、問題を解いていけば必ず自分の力になります。会社だと一つのサービス・アプリを作る業務は効率的に分業されているので、エンジニアといっても全く関わらない分野だったり専門外の領域が必ず出てきますよね。でもすべてひとりでやるとなれば、まず環境構築からつまづき、開発に関しても様々な問題が自分に降りかかってきます。
その一つひとつの問題を時間をかけてでも自分で解決していく。そのプロセスを踏むことはエンジニアとしての成長に必ずつながると思います。
当然、勤めている会社での技術的な貢献にもつながっていると思います。例えば、僕が勉強を兼ねて、実装した経験のある技術が、会社のプロジェクトで使われるという時。下調べやテストの時間を大幅にカットして実装までいけたりすることもあります。
また、最近感じているのは、自分の生活をコントロールできるようになってきたこと。会社での時間は技術を使って会社に貢献しお給料をもらうため、個人開発は技術屋である自分の技術を高めていくため、といったように。
僕自身、会社に“属する”という感覚は持ちたくないんですね。選択肢を持ちたいというか。自分の意思でこの会社を選び、自分の時間と技術を使ってお金をもらっているんだと。そう思えるようになったのも、個人開発を続けてきた結果なのかなと思います。
(つづく)
▼企業勤めのエンジニアが行なう個人プロジェクト特集第2弾。
プライベートプロジェクトの現場から―実践を通して導き出された、APIを使ったアプリ開発のメリット・デメリット。
[取材・文・撮影] 松尾彰大
編集 = 松尾彰大
4月から新社会人となるみなさんに、仕事にとって大切なこと、役立つ体験談などをお届けします。どんなに活躍している人もはじめはみんな新人。新たなスタートラインに立つ時、壁にぶつかったとき、ぜひこれらの記事を参考にしてみてください!
経営者たちの「現在に至るまでの困難=ハードシングス」をテーマにした連載特集。HARD THINGS STORY(リーダーたちの迷いと決断)と題し、経営者たちが経験したさまざまな壁、困難、そして試練に迫ります。
Notionナシでは生きられない!そんなNotionを愛する人々、チームのケースをお届け。