副業で得られたこと
はじめまして、主にReactを使用したフロントエンドエンド開発をしているsakito( @sakito )です。本業としてサイボウズ株式会社でフロントエンド開発を行いながら、副業としてフロントエンドを中心とした支援をしています。
▲過去の登壇時の写真
今回は、私が副業で得た経験や業務の進め方など、実体験を交えながらご紹介します。これからのキャリアについて、少しでも悩みがある方の参考になれば幸いです。
副業で得られることはたくさんあります。収入の増加についてアピールする広告をよく見かけますが、得られるものは収入だけではありあません。
スキルが向上し、本業や次のキャリアへ活かされる
開発の副業では、本業では使用しないスキルを使って学べることが大きなメリットだと私は思います。
例えば、本業ではBtoB、副業ではBtoCのサービスのように、それぞれ異なるジャンル・技術に触れることができ、今まで自分が経験していない領域に触れることでスキルアップに繋がります。
副業が一番経験値を稼ぐことができる
フロントエンドには次のような特徴があると思います。
- 幅が広く、サービスによって設計や使用している技術も異なる
- ブラウザや技術のアップデートが早い
このような特徴を踏まえ、さらに実務的な視野を広げるには、副業でたくさんの現場で開発に携わることが一番経験値を稼ぐことができる方法だと思います。
面談では、金銭面だけではなくどのような技術に携わることができるのかヒアリングして技術的なモチベーションも確認することをオススメします。
今の自分を俯瞰することができる
▲キャリアについての登壇時の資料
本業では当たり前だと思っていた知識が、副業では感謝されて役に立つということもあります。
普段の仕事でモチベーションが低下し、転職を考えている方も、今の自分を俯瞰する機会として転職前に副業してみてはいかがでしょうか。
こういったキャリア戦略に関する個人的な考えは、過去に発表した資料があるのでぜひ参考にしてみてください。
契約前に確認すること
私が案件を受けるときは、フロントエンドの機能開発だけではなく、技術的負債の脱却から開発メンバーの相談や育成など、フロントエンドに関わることはジャンル問わずコミットするようにしています。
副業がいなくても回るようにすることがゴール
私が副業で提供できる価値・役割は、最終的に私が居なくても技術負債が解消され、フロントエンド開発が快適にできる組織にすることです。
1つ実例をご紹介すると、以前お手伝いさせていただいていた株式会社Kaizen Platformでは、最初の顔合わせの段階で上記の内容を明確に伝えた上で開始しました。
その後、
- フロントエンドの機能開発
- レビュー
- プロジェクト基盤の開発
- モブプロ・もろもろの相談・壁打ち相手
などを行うことにより、技術的な知見がチームに浸透させることができたため、双方合意の上、副業を終了しました。
自分が何を提供できるのか、どのようなことができるのかを最初に細かく伝えておき期待値を調整しておくことで、やりやすさも変わってくると思います。
社員にはできないコミット
参画する際には、普段、社員の方が手が回せていない部分や足りない情報を補うような意識で働いています。
単純な人手として参画するのではなく、こういった考えをもって取り組んだ方がより貢献できるためです。
そのため、用意されたタスクに対して働くよりも、タスクを自分で見つけて提案し、改善するまでが1つのセットになっている場合が多いです。問題となっている部分を社員の方にヒアリングし、バリューを一番発揮できそうな部分を探ります。
また、普段社員の方が行っている機能開発フローも一通り体験させていただくことをお願いしています。
こうすることで一通りプロジェクトを把握することもできる上、ドキュメントやフロントエンド開発においてボトルネックとなっている部分を体感することができるので、改善すると効果の高い部分を見つけることができます。
副業の契約前の確認チェックリスト
今までの内容をまとめると、下記のような点を契約前には意識的にチェックしています。
- どのような技術に携わることができるのか
- 自分が何を提供できるのか、どのようなことができるのか
- ゴールは何か(私の場合は、私が居なくても技術負債が解消され、フロントエンド開発が快適にできる組織にすること)
- 普段社員の方が行っている機能開発フローを一通り体験できるか
実際のフロントエンドの案件内容
Reactを用いた開発や開発環境の改善
案件についてはReactの開発に関連するものが中心となっています。React周りの開発ではさまざまなライブラリが使用されており、ReduxやGraphQLを用いた開発もあります。
また、こういった開発だけではなく、今後のアップデート動向を踏まえたモダンなプロジェクト構成にするため、Slackで情報共有スレを作成し情報提供支援も行っています。
先にも述べましたが、タスクを用意してもらうのではなく、改善ポイントを探って提案し、開発体験が向上できるような支援もしています。例えば、テストがない環境ではテスト環境の構築や、ビルドプロセスが長い場合はビルド時間の短縮を支援する開発を行なっています。
採用やエンジニア組織の育成も
エンジニアの採用や育成にも副業として関わっていました。
面接などに参加していた訳ではありませんが、まだフロントエンドのチームが確立していないチーム規模だと、どのような観点でフロントエンドのスキルを測ればいいかわからないといったような相談や、これからフロントエンドを学んでいきたいメンバーとの1on1など、フロントエンドに関する領域で自分が力になれそうな部分は境目なく協力しています。
本業と違う規模の会社と関わることが多く、こういった経験を積むことができるのも副業ならではだと感じます。
副業案件を獲得する時に役立ったこと
私は案件を知人の紹介やSNSを通じてもらっています。
6月から手すきになるので、新しい副業先を探してます
フロントエンド周りのお手伝いならできると思うので、DMで詳細を頂ければと思いますーhttps://t.co/t1rQCsr8hQ
— Sakito (@__sakito__) May 24, 2020
実際に自分がやったことも経歴としてまとめてあります。手元にはより詳細な内容の経歴書があり、月に1度見直しています。こうすることで今の自分の状況や足りないスキルなどを俯瞰することもできます。
積極的なアウトプット
案件を獲得する際に一番役に立っているなと感じるのは、日頃のアウトプットです。過去の登壇資料を見ると、私に何ができるのか、どのようなことが得意なのか見ることができます。
採用する側にとっても、情報が何も無い人より、情報が豊富で依頼材料が多いエンジニアほど依頼しやすいと思います。
セルフブランディングという言葉だけ聞くと怪しさを感じる方もいるかもしれませんが、自分がどういう人なのかを知ってもらうためにも、登壇やSNSで発信し、キャリアの選択肢を増やしてみてはどうでしょうか?
異なる経験を積むことでさらなる成長を!
変化の早いフロントエンド界隈では、多くの現場で幅広い開発経験を積むことが大切です。もちろん、ある程度の技術力や知見があることは前提ですが、副業はこうした経験を積むのに最適です。
これからのキャリアについて悩みがある方は、一度検討してみてはいかがでしょうか。