Vue.js を使った副業のリアル。スタートアップでの働き方と注意点

サイボウズ株式会社 フロントエンドエキスパートチーム
じまぐ
ソーシャルゲームのフロントエンド担当してキャリアをスタート。大手デジタルコンテンツベンダーにてスマートフォン向けブラウザゲームの開発を経験したのち、JavaScriptを専門とするWeb制作会社でWebアプリケーション開発に携わる。現在はサイボウズ株式会社でフロントエンドエキスパートとしてプロダクトのフロントエンドの横断的な支援に従事。

「副業は思ったよりいろいろな関わり方がある」と話すのはサイボウズ株式会社のじまぐさん(@nakajmg)。フロントエンドエンジニアとして、スタートアップの立ち上げ期から円熟期までの副業を経験されています。

今回は、じまぐさんに副業との関わり方と、契約時の注意点などについてお伺いしました。

Offers」は、時代の変化や環境にあわせてスキルを磨きたい、そんな人にぴったりのサービスです。「副業・複業」で、本業では経験できない、新しい環境/開発スタイルを経験しよう!

→「Offers」をもっと詳しくみる! かんたん60秒で副業を始めてみる

副業を始めた理由

はじめまして、サイボウズ株式会社に所属しているじまぐ(@nakajmg)です。フロントエンドエキスパートチームのメンバーとして、サイボウズ製品のフロントエンドを横断的に支援しています。

▲イベント登壇時の写真 

これまで本業の傍ら、フロントエンドの副業を複数受けてきました。今回はその経験から得られたものや、これから副業を検討される方に向けての注意点を紹介します。​

まず私が副業を始めた理由は2つ。家賃を副業の収入でまかなえるようにすることと、本業では経験できないことに挑戦してスキルアップを図りたいと思ってのことでした。

副業を始めようと思った当時、私はクライアントワークをメインとしているWeb制作会社に所属していました。クライアントワーク自体は楽しかったのですが、納品して終わりという業務を続けているうちに、自分のスキルの伸びに危機感を覚えるようになりました。

転職という手段も考えましたが、所属していた会社は好きでしたし、クライアントワーク自体にも不満はありませんでした。こういった状況から、自社サービスを開発しているスタートアップで副業することにしました。

これまでの副業を振り返ってみて

副業を通して、自社サービスを成長させていくプロセスや手法を多く学ぶことができ、スキルアップとともに自身の視野を広げることができました。家賃を副業の収入でまかなうという目標も達成できました。

そして副業という立場で関わっていくうちに、副業には人脈を広げるという側面もあることに気づきました。私が副業で関わったスタートアップには優秀なエンジニアも在籍していて、刺激を受けることが多々ありました。

この狭い業界ではそういったエンジニアとの繋がりはとても貴重に思います。繋がりだけであれば勉強会などでも作れますが、一緒に働いたことがあるという繋がりは、ただの顔見知りとは違った価値があります。

サービスのステージに応じた役割の変遷

私が副業で関わったこれまでの案件の中には、開発しているサービスの変化に応じて「求められる役割」が変化していったケースがあります。

その中でも、某HR系スタートアップ企業でのケースをご紹介します。こちらのスタートアップでの稼働は、Twitterで副業募集の投稿を目にしたのがきっかけでした。

その募集には、Vue.jsを使った案件であることや、オフィスが自宅から近かったこともあり、すぐに代表やCTO、開発メンバーと面談し、その翌週には稼働し始めることになりました。

ちなみに契約時点では特に決まった役割はなく、フロントエンドの領域で力を貸して欲しいとのことでした。

正式リリース前後:Vue.jsの技術的負債の解消とガイドの作成

私が関わり始めたのはサービスが正式リリースされる少し前のタイミングでした。基本的な機能は実装されていたものの、リリースに必要な機能が揃っていない状況でした。このときの私の役割は既存実装のリファクタリングやアーキテクチャの見直し、ガイドラインの制定といった基礎固めと追加機能の実装でした。

このサービスはAPIがLaravelで作られていたこともあり、フロントエンド側はLaravelと親和性の高いNuxt.jsを使って実装されていました。ただ、フロントエンド側は速度優先の突貫作業だったのか、改善の余地が多くみられるような状態でした。

特にAPIとの接続部分は近いうちに負債として顕在化しそうな箇所だったので、積極的にリファクタリングして改善を進めました。また、プロジェクト内のコードに統一感をもたせられるように、開発メンバーと話し合ってフロントエンド実装のガイドラインを定めました。

このプロジェクトでは私はフロントエンドを専任していて、APIの実装についてはほかのメンバーが行う体制でした。メンバーとのコミュニケーションはSlackが主だったのですが、初期のころはオフィスに出向いて直接ミーティングを行ったりもしていました。

ちなみに、正式リリース後も機能の見直しや追加機能の実装も頻繁に行っており、このときは月90時間以上を副業にあてていました。

リリース後の安定期:Vue.js特有の視点からレビュー

リリースして数ヶ月が経過したころ、私は現職のサイボウズへ転職しました。本業をおろそかにしたくはないと思い、副業先と相談のうえで月の稼働時間(目安)を40時間程度にするなど、契約内容を変更してもらいました。

稼働時間が変わると、私に求められる役割も少し変化しました。機能の実装に時間を費やすというよりも、どう実装していくかといった設計やアーキテクチャの部分を考えたり、ほかのメンバーが実装したものをレビューするのが主だった役割となりました。

Nuxt.js(Vue.js)はある程度の規約こそあるものの、ページやコンポーネントは作ろうと思えば雑に作れてしまいますので、一貫したコードスタイル、パターンでよりよい実装にするという視点からコードレビューを行っていました。特にcomputedとgettersの使い分けや、methodsの粒度など、後から見たときに迷わないような実装になるように意識していました。

このときは本業の業務時間が終わったあとに数時間レビューをしたり、土日のどちらかを稼働にあてるといった働き方をしていました。コミュニケーションはオンラインで完結させて、オフィスに出向くことはほぼなくなりました。

コロナの影響:コードレビューに専念

2020年3月、副業先の方から契約について相談したいというメッセージが届きました。ある程度は想像していましたが、契約稼働時間を減らせないかといった相談でした。コロナ禍において今後の見通しが誰にもわからないような状況ですので、快く承諾しました。契約の内容としては月の最大稼働時間を10時間に定めるというものでした。

月10時間の稼働だとやれることは限られてきます。追加機能の実装など、時間がかかりそうなものを担当するのは難しくなりました。相談の結果、私はフロントエンドのコードレビューに専念することになりました。業務後などに数分〜数十分でプルリクエストのレビューを行っています。

自分の状況や社会の情勢によって、求められる役割が柔軟に変わっていくというのを身をもって体感できたのはいい経験でした。

副業を進める上で気をつけていたこと

私が副業を進める上で気をつけている点がいくつかあります。

しっかりレスポンスをする

コミュニケーションの方法は関わり方やプロジェクトによって変わりますが、自分宛てに来たメッセージに対して漏れなくリアクションをするように心がけています。

副業という性質上、メンバーとの関わりは本業と比べると時間的にも空間的にも限定されます。そういった状況でお互いがお互いを信用・信頼して気持ちよく働けるようにするにはしっかりレスポンスをすることが大事だと考えています。

働きすぎない

実装が楽しかったり、開発の期限が迫っていたりすると、ついつい時間を忘れて没頭してしまいます。それ自体は悪いことではないですが、睡眠時間を削ったりプライベートの時間をすべて費やしたりすると、収入が増える代わりに失うものが多いです。

私の場合は倦怠感やひどい肩こり・腰痛に悩まされることになりました。その結果、通院したり椅子に座るのもつらくなったりといった状況に陥ることもありました。

生活を豊かにするつもりで始めた副業で健康を失ったりするのは本末転倒です。まだまだ働けると思っても、休む時間や仕事以外をする時間は意識的に取ることをおすすめします。

副業をやってわかったこと

副業を経験してみてわかったことも色々とありました。

▲副業で得た報酬はコレクションに 

関わり方には幅がある

サービスのステージに応じた役割の変遷で紹介したように、副業での関わり方には大きな幅があります。がっつりとコミットする関わり方もあれば、レビューだけをするといった関わり方もあります。

副業を始める前は週20時間くらいコミットができないと副業を探すのは難しいのかな?と漠然と思っていましたが、実際に経験してみるとそうではないことがわかりました。自分のできることや使える時間に応じた関わり方にマッチする現場があることが知れたので、今後のキャリアや生き方としていろんな選択肢が考えられるようになりました

いろいろな人からの刺激

副業のイメージとして、タスクをもらってそれをこなすだけというイメージを持っていました。しかしながら実際にはメンバーと意見を交わして案を出したり、自分から改善点を見つけたりするといった経験ができました。

エンジニアメンバーとの交流はとても刺激をうけることが多く、学びになることもありました。また、エンジニアだけでなく、セールスやカスタマーサクセスといったエンジニア以外のポジションのメンバーからも刺激を受けることが多々ありました

契約時に気をつけること

契約時にこうしておけばよかった、と後になって思うことがあります。

ミーティングの頻度や参加条件

とある副業で関わった案件では毎週対面での定例ミーティングがあり、参加がほぼ強制されていました。次にやることはそのミーティングで決定され、仕様についてもそこで話されていました。

最初こそ参加することに意義を見出せていましたが、プロジェクトの向かう先が変わり、ディレクターの方が交代したこともあって、私が手伝えることも少なくなっていきました。ミーティングに参加しても特に発言することがない日もありました。

移動時間や準備してる時間は稼働には含まれないので、次第にミーティングをコストとして認識するようになり、欠席することが増えました。副業という関わり方であったことから、ミーティングについて相談することが憚られる状況でもありました。

新しいディレクターの方はそういった私の動きがお気に召さなかったようで、嫌味のようなことを言われることもあり、結果としてそのプロジェクトからは手を引くことになりました。

今でこそオンラインでの参加に難色を示す人は減ったのでいろいろな選択肢がありますが、ミーティングの頻度や参加条件といった部分については契約時にあらかじめ確認しておき、お互いの認識を合わせておけばよかったなと感じています。

チーム構成や意思決定のプロセス

プロダクト開発チームの一員として関わる場合、仕様や新機能について、意思決定のプロセスがどうなっているか事前に確認するのが大事だなと思うことがありました。

チームで話し合って決めたことが、ディレクションサイドのメンバーの独断で覆されたり、開発メンバーとディレクションサイドの間でコミュニケーションを取る機会が極端に少ないといったことがありました。

メンバーがディレクションサイドに不信感を持っているような状態で開発を進めても気持ちよくはありませんし、得てしてそういった現場では開発メンバーには裁量がないことが多いです。

単価などの労働条件の確認も大事ですが、ストレスなく関わるためにも、組織やチームとして健全な状態かどうかを契約の前に確認しておくとよいと思います

副業を依頼したい企業は思ってるより多い

案件に区切りがついたタイミングや、稼働が減ったタイミングでは新しい副業先を探すことになります。

私が最近試したやり方はTwitterで募集することです。自分のこれまでの経験やスキル、やりたいこととやらないことを簡単にまとめて、そのレジュメとともにフロントエンドの副業を探しているという内容をツイートしました。リツイートしてもらえたことで多くの人に届いたようで、いくつもの案件の相談をいただけました。

 

プロジェクトの走り出しやリニューアル、フロントエンドのアーキテクチャについての相談、新人のメンタリングなど、相談内容はいろいろでした。副業でもいいから関わってほしい、手伝ってほしいという企業は思ってるよりも多いようです。フレームワークの内訳はVue.jsとReact.jsが半々くらいでした。

Twitter以外の方法として副業のマッチングサービスなどもいろいろと出てきています。副業を探すハードルがどんどん低くなっているのを肌で感じていますので、副業をしたいなと思っている方がいたら、まずは話を聞く機会だけでも作ってみてはいかがでしょうか。

Offers」は、時代の変化や環境にあわせてスキルを磨きたい、そんな人にぴったりのサービスです。

いくつもの転職媒体を使って、企業を探し回るのはもう終わり。「副業」から始まる新しい働き方を実現します!

本業では経験できない、新しい環境/開発スタイルを経験しよう!



この記事をシェア

関連記事


副業・フリーランス

プログラミング

インタビュー

Rubyエンジニア2名の爆速採用に成功!2ヶ月で30倍の事業拡大を支える農業ITスタートアップの複業活用法

野菜や米、果物などの生産者と消費者を繋ぐオンライン直販所『食べチョク』を運営するビビッドガーデン。在宅時間をより充実させたい消費者が集まり、事業が急成長している。そこで課題となったのがエンジニア...

オンライン面談のみでテックリードクラスを複数採用!注目ベンチャー企業のwithコロナ時代に向けた採用術とは

日本で唯一のeKYC対応のデジタル身分証アプリを提供するTRUSTDOCK。今後、身分証がデジタルに置き換わるであろう不可逆な未来を実現するためにもエンジニアが必要だった。同社にはコロナ禍にも関...

mrubyを採用したソフトウェアを広げた第一人者・松本亮介が、面倒を感じながらもC言語を愛する理由とは?

世の中にはさまざまなプログラミング言語が存在します。そして、人によってはただならぬ愛着を持つ人も。そこで本企画では、このプログラミング言語にフォーカス。お気に入りのプログラミング言語のことを中心...

エンジニアとして、社会に新しい価値を提供し続けたい。カンカク志甫氏が考える本業と副業のバランス術

本業と数々の副業を両立させてきた志甫氏。副業を受ける決め手や本業と副業を両立させるコツ、これからのエンジニアのチャンスの掴み方について伺った。

デザイン

お金

採用・組織

グルメ