Voices

エンジニアの声

Front-end Engineer

楠本 輝也さん

楠本 輝也

フリーランスのエンジニアとして勝負しようと思った時、成長できる会社に出会えるか不安だった

  • Nuxt.js
  • Ruby
Introduction

学生の頃からなりたいと思っていたエンジニア。でも、就職した会社でアサインされたのは、プロジェクトマネジャーの仕事だった——。そんな経験をしたのが、現在、フリーランスのエンジニアとして活躍する楠本輝也さんです。

プロジェクトマネジャーとして頭角を現し、社内での評価は上がったものの、エンジニアの道をあきらめられなかった楠本さんは、フリーランスのエンジニアになることを決意します。

その時に譲れない条件だったのが「自己成長につながる職場であること」。初めてのフリーランスへの挑戦で楠本さんは、どのようにして希望通りの会社を見つけることができたのでしょうか。話をお聞きしました。

時間割アプリでブレイク、アプリ開発に夢中に

そもそもなぜ、エンジニアになろうと思ったのですか?

楠本さん: 実は、それほど大きなきっかけはなくて(笑)、学生の時に「暇だな……アプリでも作ってみるか」という軽いノリではじめました。

学生時代、長期の休みの時に、「iPhoneアプリはMacがあれば簡単に開発することができて、海外では9歳、10歳くらいの子どもがiPhoneアプリを開発している」という記事をWebで見つけたんです。「それなら僕にもできるかもしれない」と、チャレンジしてみたのが始まりでした。

当時はノーコード、ローコードのツールもなく、初心者にはハードルが高かったと思うのですが、どうやって学んだのですか?

楠本さん: 当時はメンターとなってくれる人が身近にいなかったので、完全に独学で開発していましたね。開発に行き詰まったらプログラマーのための質問サイト「Stack Overflow」で聞いていました。海外のサイトなので、「アプリでこういう振る舞いを実現したい場合、どうすればいいのか」といったようなことを英語で書いて、抜粋したコードを添付して質問する——といったことを何度も繰り返して。そうやって一つ一つ、壁を乗り越えてアプリを完成させていました。

話をお聞きしていると、アプリ開発は「ノリで始めて続けられるほど簡単ではない世界」のように見えます。モチベーションの源泉はどこにあったのでしょう?

楠本さん: 自分で試行錯誤した結果が、アプリの見た目や振る舞いに現れるところですね。「こういう風にコードを書けば動くんじゃないか」「こういう見た目にしたら使いやすいんじゃないか」という仮説を立てて、知恵を振り絞ってコードを書いてみて、それらがカチッとはまった瞬間が、たまらなく面白いんです。さらに、「こういう仕組みで動いているんだ」というように、技術の裏側について腹落ちしていくプロセスも面白い。そこがアプリ開発にハマったポイントであり、モチベーションの源泉ですね。

これまで、どんなアプリを作ってきたのですか?

楠本さん: 最初に作ったのは時間割アプリです。当時、既に時間割アプリはいくつかあって、私もその中の1つを使っていたのですが、あまり使い勝手がよくなかったんです。それなら自分で作ってみようと、自分が使いたい時間割アプリを開発しました。それを公開したら、20万ダウンロードを達成できて。

この経験から、顧客のニーズを捉えたものづくりをすれば、市場に受け入れてもらえる——ということを実感しました。この仕事がますます好きになり、「エンジニアとして生きていこう」と思ったのも、この頃です。

エンジニアを志望したもののプロジェクトマネジャーに

就職活動でもエンジニアを志望していたそうですが、実際にはプロジェクトマネジャー(PM)の仕事を任されたのですね。

楠本さん: そうですね。個人でアプリを開発していたとはいえ独学でしたし、入社したのがアプリ開発の受託会社だったので、エンジニアとして即戦力にはならなかったのだと思います。「人とのコミュニケーションが得意そうだし、議論するのも好きそうだから、まずはPMやってよ」——という感じでした。

PMの仕事を通じてエンジニアとして糧になることはありましたか?

楠本さん: 学ぶことは本当にたくさんありましたね。アプリやサービスは、コードを書くだけではできなくて、より良いアプリになるよう、ユーザーのニーズに対応していくためには、仮説検証を行ったり、チームメンバーの力に応じたプロセス設計をしたり、開発を効率化するための組織作りを検討したり——といった要素が欠かせません。PMの仕事を通じて、このようなことも考えて動けるようになったのは大きかったですね。

特に、スクラムは良い経験になりました。あるクライアントさんの開発方針が「仮説検証を繰り返しながら、ユーザーにとってより良いものにする」というもので、スクラムの手法を取り入れてサービスを改善していけるパートナーを探していたんです。当時在籍していた会社が受注したのですが、開発が始まると同時にチームにアジャイル開発のコーチが加わり、私がスクラムマスターに指名されたのです。このスクラムマスターの経験を通じて、自分の中にあったマネジメントの常識ががらっと変わりましたね。

それまでマネジメントは「指示管理すること」だと思っていたのですが、実は最も大事なのは、「成果を最大化させること」なんですね。メンバーが最大の力を出せるよう支援することがマネジャーに求められるわけです。

あるべき理想のチーム像を描き、そこに向かって自分がファシリテーターとして障害を取り除いたり、「理想と現場のギャップはなんだろう」と考えて課題を解決したり、1on1を通じて個人の力を最大化したり——。このような行動に切り替えると、仕事のスピードも圧倒的に早くなり、上がってくるデザインやコードの品質も上がったんです。そして何より、チームのメンバーが楽しそうに仕事をするようになったのには驚きました。

次第にチームが自律的に議論して意思決定をするようになり、自分は遠巻きにそれをみていたのですが、「これでいいんだ」と分かったんです。それは自分の考えが180度変わったような、大きな衝撃でした。

最年少で売り上げトップを達成するなど、PMとして社内で高く評価されるようになっても、エンジニアになるという夢は捨てきれなかったのですね。

楠本さん: そうですね。PMの仕事をしていた時も、腕がなまらないよう副業で開発案件を受けていましたし、自分がマネジメントするプロジェクトでも、仕様に大きく影響しないところは自分で開発することもありました。でも、PMとしての経験を積めば積むほど、「現場のエンジニアとしての経験がないままマネジメントをやっていること」に限界を感じるようになったんです。

この先、PMを続けるにしても、エンジニアとして生きていくとしても、いったんは現場のエンジニアとして開発経験を積む必要がある——と強く感じたのです。加えて自分の中にある「開発したい」という気持ちを抑えられなくなくなったのも大きいですね。

そんなこともあって、当時の会社に「辞めたい」と伝えたところ、「ベトナムのオフショアチームの改善をやってみないか」とオファーされたので、受けてみたりもしました。でも、仕事をすればするほど、やっぱり自分が求めているのは「エンジニアとしての成長なんだ」ということが分かったんです。

ベトナムのプロジェクトもうまくいき、現地の日本法人から仕事の誘いを受けたりするようになったところで転職を考え始めました。そんな時に友人の紹介で出会ったのがコードクライマー代表の内田さんだったのです。

いろいろな選択肢がある中、フリーランスのエンジニアを選んだのは?

楠本さん: 「実はフリーランスがいいかどうか」という検証はあまりしていなくて(笑)。楽しそうに仕事をしているフリーランスエンジニアの知り合いが多かったので、「一回、やってみるか」ぐらいの感じでした。

エンジニアは、「自分の技術を確固たるものにしていくこと」が重要なので、正社員かフリーランスか、というよりは、「技術が学べるかどうか」「自分が成長できるかどうか」のほうが重要、というのもありましたね。

「成長できる場所で働けるかどうか」を考えた時に不安はありませんでしたか?

楠本さん: 確かにそこは未知数でしたね。ただ、内田さんとオンラインで話した時に、「エンジニアの成長を大事にしている」と話していたので、信頼できそうだと思ったことを覚えています。

ベトナムから日本に帰ってきて、あるベンチャー企業を紹介していただいて面談した時が最初のリアルでの出会いだったのですが、面談が終わったあとに、「ここが良かった」「ここはもう少し頑張れたかもしれない」といったように、いろいろとフィードバックしてくれたんです。それを聞いた時に、「自分の成長に伴走してくれそうな人だ」と感じたのを覚えています。

あと、多くのエージェントは「契約の成立がゴール」ですが、コードクライマーの場合、「契約の成立がスタート地点」というところは興味深いと思いました。契約が成立した後も、定期的な1on1を通じて、企業とエンジニアの間を橋渡ししてくれるという、いわば、「上司」のような役割を担ってくれているんです。

フリーランスとして働いていると、現場で上司やメンターに恵まれることはありますが、やはり正社員ではないので、彼らにしてみれば、評価やフィードバックをする義務はないわけです。ただ、やはり自分の仕事についてどこからもフィードバックが得られないと、成長の機会を逃すことになりかねない。「エンジニアとしての成長」は、私が最も大事にしていることなので、定期的に内田さんからフィードバックが受けられるのは、自分のニーズにとてもマッチしていると思います。

フィードバックが「エンジニアのニーズをとらえた適切なもの」でなければ、エンジニアの方々の信頼は得られないと思うのですが、コードクライマーは、よりよいフィードバックをするために、どんな工夫をしていますか?

内田: フリーランスで働くエンジニアの方が「欲しい」と思う情報をいかに提供できるか——ということは常に意識していますね。フリーランスで働いていると、会社員の時と比べて得られる情報がどうしても限られてしまうので、彼らが得られない情報をどうやって会社側から引き出して伝えられるか、が大事だと思っています。それは、企業に対しても一緒ですね。

企業側もエンジニア側も、下手なことを言って「辞めちゃったらどうしよう」「契約を切られたらどうしよう」と思うあまりに、なかなか率直な話ができないんです。エンジニアにしてみれば「本音ベースで自分の働きはどうみられているのか」「期待値と働きがずれていないか」といったところが気になるでしょうし、企業側は「もう少し踏み込んだ働き方をしてもらってもいいのか」「今の役割に不満はないか」といったところが気になるでしょう。このような、心理的なハードルを解消して、建設的な関係構築を促していくことが大事だと思っています。

2つのオファーに迷った時、決め手になったのは

楠本さんは、iOSのアプリ開発と、フロントエンド開発の2つの案件を提案されて迷ったそうですね。

楠本さん: どちらも面白そうなスタートアップの案件だったので、どうするか全然決められなくて……。迷っているとき、内田さんと話しているうちに、「まだあまり環境が整っていない、カオスな環境でチャレンジしたい」という自分の気持ちに気がついたんです。それで今の職場を選びました。

内田さんは、それぞれの会社のことをとても詳しく知っていて、会社の雰囲気はもちろん、「もし、そこに楠本さんが入ったら、こんな感じの役割でこんな働き方になるだろう」というように、会社に入った後のことをイメージできるような情報を提供してくれたんです。企業規模や事業フェーズにとどまらない情報をいただいたおかげで、迷いがなくなりました。

内田さんはなぜ、ここまで詳細にエンジニアに会社の情報を伝えるようになったのですか?

内田: 実は、前職で今と同じような仕事をしていた時、「仕事を紹介して終わり」だと、本当に良い支援ができてるか分からず、成長にもつながらない——と思ったのがきっかけでした。

マッチングがうまくいかなかった人に原因を聞いてみると、実は「企業とエンジニアがお互いについて知らなすぎる」だけで、誰かが間に入って誤解を解けば、もっと関係が長続きするような、ささいなことが多かったんです。

この仕事を続ければ続けるほど、「企業とエンジニアの相互理解を支援すること」が、エンジニアと企業にとっての「成長の原動力」になると確信するようになり、両者の声に耳を傾けるようになりました。コードクライマーが実施している「企業やエンジニアとの1on1」は、そんな経験から生まれたのです。

自分でフリーランスエンジニアの紹介事業を始めて、どこでミスマッチが起こるのかをヒアリングしてみると、「予想以上に良かった」という声もあれば、「意外に上手くいかなかった」という声の両方がありました。その「外れ値」を取って「前の選考が正しかったのかどうか」を検証し始めてから、相互理解のために聞くべきポイントや、それぞれが聞きたくても聞きづらいところなどが分かってきました。その生の声を1on1に生かしています。

相互理解のための取り組みを始めてからどんな効果がありましたか?

内田: 定期的に話をしていると、企業の事業フェーズや必要なエンジニアがリアルタイムで分かりますし、エンジニアの成長度合いや目標も把握できるので、マッチングの精度は上がりましたね。互いのモヤモヤをなくし、信頼関係を築いて仕事に専念できるようになるので、より重要なポジションを任されたり、いい評価をいただく機会も増えてきました。

カオスな職場でエンジニアとしての成長を実感

実際に働き始めてみて、いかがですか?

楠本さん: 経験によって、自分の「エンジニアとしての筋力」が上がっていることを実感しています。最近では技術だけでなく、UIやUX、 LPO、マーケティング分野も自分が先導して進めており、できることがどんどん広がっていくのが楽しいです。確かにカオスな職場ですが(笑)人間関係は良好なので、ストレスは皆無。充実した働き方ができています。

エンジニアの仕事も、サービスのUIだけでなく、ユーザー体験をゼロから自分でデザインして作っているので、とてもやりがいがあります。サーバサイドのことも、先輩から教わって勉強できるのがありがたいですね。

今はとにかく、エンジニアとして技術的な問題や組織上の問題を解決することに集中し、企業の成長に貢献したいと思っています。