エンジニアの中途転職版のFindy と 副業・フリーランスエンジニア版のFindy Freelance では今、副業エンジニアの方3名ほどに協力していただきながらサービスを作っています。(まだまだ副業・フルタイム共にメンバー募集中です!)
で、当初は僕がサービス立ち上げでエンジニアとしてフロントからバックエンド、インフラからアルゴリズム周りまでバリバリコード書いていたのですが、副業で入ってきたメンバーが優秀過ぎて僕の「スタートアップあるあるな雑コード」が駆逐されてしまった結果、会社のエンジニアリングが最高になってきたので、優秀な彼らの話と副業についてのお話をしようと思います。
目次
背景: なぜ副業のエンジニアを採用する方向になったのか?
今となってFindy では副業エンジニア3名在籍していますが、1年前はエンジニア僕1人でした。昨年末でやっと正社員エンジニア2人。
Findy を運営する中で、ちょうどサービスのフィードバックを頂いた方が優秀で副業可能な会社に所属されていたので、「お手伝いしてもらえませんか?」と声をかけたのがきっかけでした。わりと軽い気持ちで副業をお願いしたのが始まりです。
実際、Findy では追加開発のためにもう少し開発に人員を割きたいなという思いがあったのですが、正社員として Findy に関わってもらうには時間がかかりすぎてしまうので、正社員は正社員で採用を進めつつ、「副業」という形で幅広い形で協力していただくことにしました。
具体的にやってもらってること
現在、フロントエンドエンジニア2名、機械学習エンジニア1名の計3名の優秀なエンジニアに協力してもらっています。
フロントエンドエンジニア
主に以下のようなサービスの新規開発と基盤改善をお願いしています。
- GitHub に記載した簡単な仕様説明から新機能の実装
- CTO 佐藤が雑に実装してしまった React-Redux 構成のフロントエンドのリファクタリング
- 自動化テスト基盤の構築、コーディングルールやアーキテクチャの整備
- 一部バックエンドロジックの修正
- マイナーなバグ修正や軽微なUI改善
機械学習エンジニア
- 既存のスキル偏差値におけるユーザ分析
- 既存のスキル偏差値のアルゴリズムの改善
- スキル偏差値の新規アルゴリズム導入のための設計、構築、検証
と、こんな感じでおおよそ週10〜15時間程度の時間で改善を進めてもらっています。
また、スタートアップなので週に1度 Findy オフィスに来てもらってミーティングを開いています。というのも、オンラインでもある程度コミュニケーションは取れるのですが、日々会社の状況が変わっていくフェーズなのでその熱量を感じてもらうのが大きいです。もちろん正社員としての業務の建込み具合によって活動時間や出社の有無は逐次相談しています。
副業のメンバーが入って解決したこと
こんな感じで10ヶ月ほど副業の方に関わっていただいていますが、大きく解決したこととしては以下の通りです。
1. 僕が書いた雑なコードを駆逐してもらえた
僕が書いた雑なコードが駆逐され、サービスとしてバグを潰してもらえたり、スピード重視で実装したコードを改善してもらえています。…プルリク見るたびに心の中で土下座して謝っています。すみませんすみません。
2. 実装したいものが実装できるようになった
当たり前なのですが、僕一人では工数が圧倒的に足らず、やらないことを決めることのほうが多かったです。しかしながら、それぞれ副業の方にタスクを依頼して随時コミュニケーション取ることで実装したかった内容が実装できるようになりました。
3. スペシャリストからアドバイスいただける最高の環境になった
自分はフロントエンドからインフラまで一通り触ってきましたが、フルスタック寄りで深い知識や最新の知識がそれぞれの分野で追いきれていない状況が続いていました。
しかしながら、それぞれの環境で培ってきたフロントエンドや機械学習周りのノウハウを共有してもらったり、現状の仕組みで最適な方法を一緒に考えてもらえるのは圧倒的に副業の方に入ってもらってよかったことです。
4. 実装以外のサービス全体の設計にフォーカスすることができるようになった
スタートアップとしては良いサービスづくりをして事業を大きくすることが求められます。そのため、エンジニアリングだけやっているわけにもいかず、他にも企画や分析、ユーザサポートなど広く業務を行う必要があります。
そのエンジニアリング以外にも手を出せるようになったことで会社全体でうまく回るようになってきました。
僕らが解決すべき今後の課題
課題1. 企画・仕様作成が追いつかなくなる
嬉しい悲鳴ではあるのですが、開発が進みすぎてサービス開発中に「アイディアはあるけど具体案や仕様がまだない…!!」となってしまったケースもあります。ここはいろんな解決策があると思うのですが、定期的に情報共有をしてブレスト会議を開いたり、企画そのものをある程度任せてしまうのも手かもしれません。良い解決策を探らないといけないなと思っているところの一つです。
課題2. 大きなタスクを渡すのが難しい
これはどちらかというとフルタイムスタッフの問題ですが、大きい機能を作る上でリリース日と納期の関係上、どうしても副業だと難しいケースなども出てきます。フルタイムスタッフで企画を分解し、もっと小さな企画にしてタスクを落としてあげることで解決するのかもしれません。もっとリーンに。
おわりに
とは言え、トータルで見ると僕一人のときに比べて開発スピード、品質共に圧倒的に改善しましたし、知見としてもいっぱいたまりました。これは副業として関わっていただいている方がいないと出来なかったことです。改めて副業メンバーに感謝しております。ありがとうございます。
先程も書きましたが、日々上がってくるGitHubのプルリクエストの通知メールを見て、「僕が書いたコードが雑ですみません」と懺悔をしながら事業を見てます。ごめんなさいの気持ちがありながらも、内心ありがとうと思いながら日々感謝しています。本当にありがとうございます。
また、引き続き副業・フルタイムで開発していただけるメンバーを募集していますので、どうぞよろしくお願いいたします。今もちょうど優秀なメンバーがまた増えそうな気配です!
合わせて、企業として優秀なフリーランス・副業エンジニアと一緒に働いてみたい方はこちらからご連絡ください。
読んで頂きありがとうございました! 宜しければ、エンジニアの皆様はFindyでご自身のスキル偏差値を測定してみてください。
[正社員の方]
ハイスキルなエンジニアのプレミアム転職サービス Findy
[フリーランスの方]
フリーランス・副業エンジニア向けの単価保証型の案件紹介サービス Findy Freelance
また、Findyでは年齢や勤務形態を問わず、様々な働き方で採用をしています。興味のある方は、こちらからご応募どうぞ!
東京大学 情報理工学系研究科 創造情報学専攻(*)卒業後、グリーに入社し、フルスタックエンジニアとして勤務する。2016年6月にファインディ立上げに伴い取締役CTO就任。
*大学院では、稲葉真理研究室に所属。過去10年分の論文に対し論文間の類似度を、自然言語処理やデータマイニングにより内容の解析を定量的・定性的に行うことで算出する論文を執筆。