この記事はあくまで個人の感想になります。参考程度にとどめてもらえると幸いです。
ありがたいことに知り合いの紹介から仕事をいただいて、本業の仕事以外で業務委託として仕事を受けもっていた。 自分のエンジニア人生を間違いなく濃いものにしてくれたし、人間関係にもついても多くのことを学んだので、忘れないように振り返りをしたい。 内省することがちらほらできて、次の仕事選びのためにもしっかり記録として残しておきたい。
タイトルに副業と書いているが、広告や不動産収入などの不労所得ではなく、本業とは別に業務委託契約を交わして、一従業員として働くことを指している。
自分はソフトウェア開発エンジニアをやっている。それにより、副業の仕事内容も同じソフトウェア開発エンジニアとなる。
モチベーションとしては、スキルアップと時間潰しでやっていた。仕事をいただいた時期がちょうどコロナ禍の最中の 2020 年からというのもあって、当時は何をしていいかわからなかった。何で時間を消費すればいいかわからず、外出禁止され趣味が奪われたこともあり、ぽっかり空いた孤独や喪失感を埋めるためにも、平日の夜の時間や土日には熱中してやっていた。まさにスキルアップへ充てるのに格好の時間だった。なんだかんだで 4 年間ほどやっていた。仕事のことをもう少し話すと、コロナ禍の影響もあってほとんど在宅業務であった。ダブルワークをある程度の期間できたのは、環境に恵まれた部分が大きいと感じる。在宅なので体力を温存できるし、出勤退勤時間をそのまま稼働時間に充てられる。出社となると体力面としても続かないし、稼働時間によって報酬額が大きく変わってしまう。
経験した現場は 2 つで、1 つは 1 年間バックエンドエンジニアとして REST API 実装を主に担当した。言語は Node.js であり、 serverless framework で lambda を動かすというあまり馴染みがないシステム構成をしていた。残りの 3 年間は flutter でモバイルアプリをいくつか開発や運用を担当した。非常に良い経験で、flutter について基礎をたくさん教えてくれた現場だった。Firebase Dynamic Link でのアプリへのインタラクションや Stripe での課金機能、リリースのリジェクト対応などモバイルアプリエンジニアが担当する業務をできたのはよかった。初心者レベルは脱せたのかなとは感じているし、ネイティブでの開発経験を積むという次のステップも見えた。
どうやって見つけたかというと、両方とも知り合いの紹介になる。1 つは過去の現場でお世話になった上司がベンチャーの CTO に挑戦するというので、人が欲しいと言われ、また仕事できることから参画した。もう 1 つは、共通の知り合いがいて、オフショアで海外のエンジニアに依頼していたのを国内で内省したいけど、エンジニアがいないから手伝って欲しいとのことだった。両方ともご縁から仕事をいただいた次第だ。
報酬面については、副業ということで本業との比較では安かった。受け手とは違うシステムや技術に触れる、雇用主としては安い人件費でシステムやアプリをローンチできるので、お互い win-win な関係となっている。報酬額は時給ベースだった。ノルマはないので、固定では月で流動的になる。流石にバブリックに書くということで、具体的な報酬額は割愛する。
ここからは本題の所管になる。
結論から言うと取り組んで非常に良い経験だった。しかし、惜しいと感じる部分が散り積もって、振り返る時期によって後悔が残る経験にもなる。下記の内容については、ほとんど後者の現場のものとなる。
まず最初に体制面について妥協を続けていたり割り切っていたことがよくなかった。自分と同じ業務を担当するエンジニアの人数やそれぞれのコミットメント量を確認していなかった。自分で述べてだが、事前の確認は非常に難しい話になる。せいぜい仕事を始める前の面接や面談で他メンバーのことを聞くぐらいだろうか。
振り返ると、自分の負荷が少し大きかったと感じる。働いて半年ほどで高いコミットメントで時間を十分に業務に割けるメンバーの不在についてに悩んでいた。責任者に相談していたが、結局採用できず、自分が辞めるまで最終的に不在だった。メンバーが業務委託で構成されている現場で、メンバーのほとんどは特にマネジメントを行うリーダーの不在は大きい。自分を含めて、アプリエンジニアが 2 人となり、もう 1 人も自分と似て本業で別の現場で働いている身であった。つまり 2 人ともフルタイムで働いておらず、稼働できる時間はあってもカウントされないぐらいの量と思ってもらってもいい。あともう 1 人業務委託がいるかもしくはフルタイムのメンバーがいると、だいぶ精神的にも安心だったのではないかと感じる。
自分は DevOps のことに興味があった。テストカバレッジをあげる、仕様をドキュメントにまとめる、コードの書き方を統一するなど、メンバーみんなが働きやすい環境作りに努めることが好きだった。もちろん手作業を減らして、 CI に任せられる部分を増やすことにも興味があった。アプリには常に健康にいて欲しいが根底にあった。そもそもそれに集中したいほど、参画したときには普段の機能改修の業務ができる体制になっていなかった。
しかし、これに加えてもちろん新機能の開発や既存機能の改修を任されるので、やはりキャパオーバーなことが続いていた。
もちろん責任者はタスクをお願いするときに必ず自分の予定を相談してくれたが、それよりも改善がそのままになっていることから来るストレスをどう減らせるかを一緒に考えて欲しかった。自動化できていないことから手作業で時間だけが浪費されるし、直せていないというストレスがさらにモチベーションを低下させるものにもなっていた。自分の体調が優れないときにスケジュールを後ろ倒ししてくれるが、求めるのはそれではない。もう 1 人の業務委託にアサインする、もしくは要件を削るなどを検討して欲しかった。反対に、もう 1 人の技術的調査があまいときは再調査やそのメンバーのエンバグを改修するなどなぜか自分の負荷が下がるどころか上がり続けることが多かった。
要するに自分が稼働できる範囲で頭のリソースや精神的キャパ、時間で最大限バリューやパフォーマンス出せる体制があらかじめ少しでもあるかを確認した方がいいと感じる。自分はプレイヤータイプに寄っており手を動かすのは得意だが、本業のほうでも MTG でのディスカションや実装など、体力や頭のリソースが削られるところで、そのキャパを超える業務をするのは流石に心が折れた。
採用が十分ではなかったと言っても何も始まらないので、自責の念で考えると、技術的な改善が長期的プロダクトの運用を考えると不可欠という説得ができなかった。毎年の flutter のメジャーバージョンと数ヶ月単位の flutter のマイナーバージョン、それに付随して各パッケージのバージョンをあげるのを 1 人で捌くのは困難であった。それを複数アプリ展開しているので、アプリの数だけ実施しないといけない。riverpod
の viewmodel を担う state_notifier
のユニットテストやウィジェットのユニットテストも不十分なところが多い。iOS の証明書の自動更新なども取り組みたかった。
その大変さをもっと別の言葉で説得するのを試みるべきだった。だが事業のフェーズが、新機能をリリースしてプロダクトのバリューをユーザーに届けるのが優先度として高かったフェースであるのも事実だ。図文もその優先度に従えなかったのが無視できない点だ。
在籍メンバーの在籍年数も気にするべきと考える。仕様や動作確認をする際、周りに聞いても誰もわからないなんてざらにあった。自分から自分の首を絞める現場に行く必要もないのだから、仕事を受ける前の確認リストに入れるべき。
本業の業務内容とどの程度差異があるかも副業選びの大事なポイントになる。自分の場合はそこまで本業の業務と合っていなかった。技術的に新しいことに挑戦できるのは非常に魅力的だが、その場合落とし穴があることはとどめてほしい。
自分は本業では Web フロントエンジニアを担当していた。始める前に考えていたのは、分野が全く同じことをすると飽きがきてパフォーマンスの質が落ちるかまたは刺激が足りず、副業の業務に対するカロリーが高くなるのではないかと懸念があった。この仮説は当たりで、本業と副業を切り替えることで新鮮さが生まれ、集中力が続く効果を実感した。
ただやっぱり本業と分野が違うことをすると、もちろん学んだ知見を相互で活かせる部分と活かせない部分がある。働き方やマインド、UI / UX など抽象的な考えはトランスポートし合えるが、具体となると活かせないことが多い。業務内容は似ているだけど、別業種に向けてのサービスを展開する現場だったよかったらのではないか。
ここまで惜しい点を述べてきたが、良かった点ももちろんある。
技術の話からは少し外れてしまうが、お金関係のことを学べたのはいい社内勉強になった。まずは言わずもがな、収入源が増えること。家の環境をグレードアップできたり、新しく習い事を始めるにも余裕が生まれる。コロナ禍で参加が制限されていた外部イベントに参加するだけのお金があったも良い点だ。お酒も好きなので、気になるお酒を通販で購入でき、バーで色々なお酒を飲んだりできたのは非常に良かった。
別で副業を始める前は、お金には恥ずかしいぐらい無頓着であり、考えが変わったのも自分にもとってはいい変化であった。 領収書を欲しがる知り合いを多く見かけたが、いまいち使用用途がわからないほど、お金には無頓着であった。税金についても言い訳だが、会社員をやっていると給料が天引きされ、特に納税を意識しなくても生活できるのもあっただろう。確定申告を自分で行うのは非常に良い社会勉強になった。独立に興味がある人にとっては、ぜひ何か副業をおすすめしたい。
これは当たり前のことだが、自制心があったりセルフコントロールできる人は向いている。時間を捻出するために健康的な生活を過ごせたのは一定メリットだ。しかし、少しでもモチベーションが下がったり、プライベートで少しでも時間を取られるスケジュールや優先度を落とせないのではあれば、その時期は参画しないことをおすすめしたい。
と長くなってしまったが、せっかくの経験を忘れないように、記憶からダンプした。多くを書いたが、結論しばらくはダブルワークをやめるつもりだ。プライベートで大事なことが増え、仕事へのキャパが減ったのと単純に燃え尽きたのもある。最近は個人開発や登壇の経験もしたいので、まずはこのブログの質をあげたいし、得た技術を還元したい。シンプルにアウトプットを通して勉強していきたい。貴重な経験をありがとう。