🍡

本業1社+副業2社で働くエンジニアの脳内

2023/11/15に公開
1

はじめに

私はWEB系ソフトウェアエンジニアで、現在は本業1社に加えて副業2社の、合計3社で同時に働いています。ネットを検索すると、海外では似た状況の方もそこそこいるようですが、日本では割とレアな状況かな、と思います。
副業について大っぴらに話せる機会もあまり多くなく、溜まりに溜まった考えや気持ちが脳内を渦巻いているので、それらを共有してすっきりしてみたいと思います。
あくまで一個人のお話になりますが、エンジニアの副業に興味がある方や、副業を既にしているが掛け持ちにも興味がある方などのご参考になれば嬉しいです。

本業1社+副業2社の内訳

本業1社+副業2社の内訳は表のとおりです。副業はどちらも知人/友人にお声掛けいただいたのがきっかけです。元々は本業+副業1のみだったのですが、副業2もお声掛けいただき、稼働時間に余裕があったので引き受けて、この状態になりました。いずれも自社開発企業です。

会社 きっかけ 業務内容 働き方 稼働時間
本業 転職 WEBアプリ開発。バックエンドもフロントエンドもやる 正社員、フルリモート、副業OK 裁量労働制、残業ほぼなし
副業1 大学時代の知人が起業した会社 技術何でも屋さん。Slackアプリを作ったりこの世の色々なAPIを叩いたりGASを書いたりAWSでコールセンターを構築したり 業務委託、フルリモート 多くて月10時間ほど、ほぼ作業しない月もあり波が大きい
副業2 以前正社員として働いていた会社 (前職) WEBアプリ開発、正社員のときとほぼ同じ内容。バックエンドが主、時々フロントエンド 業務委託、フルリモート 月20時間ほど、毎月作業時間が同じくらいで波がない

タイムスケジュール

大体ですし日によりますが、しっかり副業するときの平日と休日のタイムスケジュールは以下です。もちろん全く副業しない日もあります。

平日

本業を早めに終わらせて、ごはんを食べたり休憩してから副業します。遅くまで働くと頭が冴えて眠れないので、なるべく夜10時以降は働かないようにしています。

休日

半日くらい副業します。1日中副業することは少ないです。

工夫していること

GitHub Copilotを使う

GitHub Copilotを年間サブスクリプションしています。無いともう生きていけないです。

短時間でコーディングができる

似たような処理を違う変数で書く、などのコーディングって意外と多いですよね。そういう規則性のあるコードの補完がGitHub Copilotは非常に得意なので、重宝しています。自分でコーディングするとコピペミスしたりしますが、そのようなミスも減らせます。

詳しくない言語のコーディングをするときに助けてくれる

少しだけGAS書いて、少しだけGoでLambda書いて、といった要望が副業1で時々あるのですが、1から勉強していたら時間が足りません。そういうときに、GitHub Copilot Chatで言語仕様を質問したり、やりたいことを上手く伝えると、もはやほぼ完璧なコードを提案してくれます。

テストを書いてくれる

副業のコードにバグがあると対応が大変なので、単体テストは充実させたいものです。でも全パターンを自力で書くのは面倒くさい。そんなときにGitHub Copilotの Generate Tests を実行すると、高確率で完璧なテストコードを書いてくれます。

業務フローの最大公約数を見つける

コミットメッセージ、ブランチ名、チケットの動かし方、コーディング規約など、暗黙の了解となっているローカルルールって色々ありますよね。これらが各会社で別々だと混乱するので、できるだけ最大公約数を見つけて、それに従うようにしています。
例えば、ブランチ名のルールが特に無い会社1と、厳密なブランチ名ルールがある会社2があったら、会社2のルールで会社1のブランチも切る、というように運用します。浮気な人が、恋人のあだ名を全員同じにして間違えないようにするテクニックに通ずるものがあります。

TODOリストをホワイトボードノートに書く

nu boardというホワイトボードノートを愛用しています。私は新書判FMEとA4版を持っていて、TODOリストを新書判に書いています。

本の名前が思い出せないのですが、何かの本で

TODOリストを確実にこなしたければ、常に目に入るようにするために、手書きして見えるところに置くと良い。気が散らない、書くことで頭が覚える、という点でもスマホなどのデジタルメモよりも効果的。

と読んで、それをこのホワイトボードノートで実践しています。寝る前か起きた後に、仕事もプライベートも含めてその日やることをTODOリストとして6項目ほど書き出して、順番にこなしていくだけです。

私は字を書くことがものすごく嫌いなのですが、この方法は私には効果がありタスクの達成率が上がったのと、毎日消して書けば良いのでゴミが出ない & 情報が蓄積されないのが気持ち的に軽やかで好きで、続けています。

ちなみにホワイトボードノートは、業務や競技プログラミングでアルゴリズムを考えるときにも便利でおすすめです。アルゴリズムを書くときは、新書判だと小さいのでA4版を使うことが多いです。

良いこと

技術力が上がる

本業と副業で技術スタックが同じときは、本業で学んだ技術/書き方を副業でもやってみよう、逆に副業で学んだ技術/書き方をを本業でもやってみよう、といった良いとこ取りが可能になるので、相乗効果で技術力が上がります。一方本業と副業で異なる技術を使うときは、同時期に手広く技術を身に付けられます。
また、コンスタントに開発をし続ける生活なので、以前よりも開発への敷居が低くなり、何か新しい技術を勉強するときにもまずは書いてみるか、と気軽に行動に移せるようになりました。GitHubの草がよく生えるので、せっかく連続で生えた草を絶やさないようにしよう、と個人の開発や勉強もはかどります。

お金が増える

当たり前ですが収入はある程度増えます。こんなんなんぼあってもいいですからね。
あと副業を2つ持つことで、副業での単価交渉が前より楽になりました。あちらではこの金額もらっているので、と実際のデータを元に単価交渉ができるのは大きなメリットです。

仕事でのメンタル安定

フルリモートで複数の会社のお仕事をしていると、個人事業主のような感覚になるので、良くも悪くも各会社への依存心や執着は弱くなり、俯瞰して会社と自分を見るようになります。
例えば、本業で失敗したり納得いかないことがあっても、 "まぁ副業は上手く行ってるし大丈夫、副業の作業でもやって切り替えるか" みたいな気持ちになれて不要なダメージを受けづらくなりました。
同様に、この会社はここがいまいちだな、という部分があっても、 "まぁでもこの部分はあの会社より良いし天国など無いってことだな、気にしても仕方ない" と思えたりもします。

会社ごとに自分の目的が定まってくるので (この会社は新しい領域の技術を学ぶため、この会社は友人と既に持っている技術の維持向上のため、など)、それ以外の要素に頭を悩まされることが減ります。ただし後述の 1人大炎上 が発生したときは、メンタルダメージも倍になります。

タイムマネジメントが上手くなる

本業で残業したあとに副業をするのは、私の体力と気力的にほぼ無理なので、平日に副業をしたいときは "本業を効率的に定時内に終わらせよう!" という意識が強くなります。結果的に、本業の業務効率は上がったと思います。

人脈維持

副業を通じて友人や知人とのコネクションを維持できて嬉しいです。時々副業先の方と話したり食事したりしますが、お互い程よい部外者なので、色々なことをオープンに話せて楽しいです。トレンドの技術、注目の企業、世間の求人事情なども何となく掴めます。

悪いこと

疲れる

シンプルに疲れます。やり過ぎて燃え尽きることもしばしば。

1人大炎上

別々の会社の案件が、偶然同じタイミングで炎上すると、1人大炎上状態になります。なるべく重たい案件は時期をずらすように工夫したりしていますが、起きるときは起きるもので、メンタルが削られます。

タイムパフォーマンスにうるさくなる

本業で拘束時間が長いMTGに参加すると、副業の単価が頭によぎります。プライベートでも "この時間働いてたらxx円だったな" と思うこともたまにあります。映画やゲームなど、時間がかかる趣味からは足が遠のきがちです。

技術書を読むなど、腰を据えた技術的なインプットの時間がなかなか取れないのも悩みです。アウトプットは仕事でやりすぎなくらいしますが、先述のGitHub Copilotに頼りすぎたり、野生の勘みたいなものが無駄に鍛えられてしまい、何とかコードは書けてしまうけれどあまり背景を理解していない、ということが増えた気もします。気をつけたいです。

年末調整や確定申告が面倒

11月の年末調整では 所得金額の見積額 を書かなければいけません (あくまで見積もりなので、完璧でなくて良いそうですが)。副業の収入と経費の計算は、普段確定申告の時期まできちんとできていないので、年末調整になると焦って会計ソフトにログインして、仕訳をつける羽目になります。

そして2月16日から3月15日には確定申告が必要です。私は開業届と青色申告承認申請書を提出済みで、青色申告をしています。お金の話は割と好きで、日商簿記の資格を興味本位で取った私でも毎年辛いです。初年度は何が正解かも分からずに、深夜まで半泣きでググり続けて確定申告しました。意外と正社員+副業のパターンの記入例や情報が、WEB上に無いのですよね。

エンジニアが慣れていない簿記をするのはかなり大変です。税理士の方に外注した方が良いのかも知れません。

副業について私の教訓

知り合いづてはおすすめ

副業をやってみたいという方は、知り合いで紹介してくれそうな人はいないかな?と考えてみることをおすすめします。普段から飲み会などで冗談半分で "副業やれます!" と言っておくのも効果的です。私の場合は、2つともそんな感じで言っておいたところ、忘れた頃にお誘いの連絡をいただけました。

もちろん知り合いであっても、信頼関係構築のために (特に最初の業務で) お仕事を頑張る必要はありますが、全く知らない人と比べたら、その信頼関係構築に掛かるコストは低いです。ちなみに長年副業をしている私のエンジニアの友人は、"お金の交渉で揉めそうだから、知り合いづてじゃないと副業しない" と言っていました。私はまだそこはあまりメリットとして実感していないですが、ご参考まで。

ただでさえ世間は狭く、転職先に元同僚や昔の友人がいたなんて話もザラですし、私の副業も声を掛けてもらえなければきっかけすらなかったので、普段から周りの人を本当に大切にしないとな、と心底思うようになりました。

キャリア/スキルアップにならない仕事は断る

以前、開発に全く関係なく、かつ好きでも得意でもない副業業務を引き受けたことがあるのですが、時間も掛かる上に、自分の技術力向上にも全く寄与しないので、お金がもらえてもただただ辛かったです。色々な考え方があると思いますし個人の自由ですが、私はお金だけのお仕事は、一時的にはお金が手に入ったとしても、長期的に見るとキャリア/スキルアップにつなげられたかも知れない時間を浪費してしまい、むしろマイナスに働くのではないか、と考えます。
そのため、副業で全く自分のキャリアやスキルに寄与しない業務をご提案いただいたときは、基本的に丁重にお断りするようになりました。

働きすぎない仕組みを作る

仕事しすぎると、夜も頭が冴えて眠れないですし、シンプルに疲れが溜まっていきます。私は夜10時以降は仕事しない!とゆるく決めています。守れないこともしばしばですが。
あとは、趣味の時間を忘れないことも大事です。私は先述のTODOリストに趣味も書くことで、遊ぶ時間も確保するようにしています (今日の私のリストには マリオカート があります)。仕事ばかりしていると、人生とは…?みたいな状態になるので、よく働きよく遊びよく休みましょう。

好きじゃないと無理

お金はもちろん大切で、副業の目的のひとつですが、私はお金第一というよりは開発自体が好きで、 "空いた時間に好きな開発をすることでお金をもらえて、かつそれで友人や知人をお手伝いできるなら満足だな" という気持ちでやっています。お金だけ目当てで開発が嫌いだったら、きつくてやめていると思います。

そもそも副業でいくら単価が高かったとしても、やはり本業に比べると稼働時間は圧倒的に短いので、収入を増やしたいだけなら、転職ド◯フトなどで転職して、本業の年収を上げたほうが効率的だと思います。開発自体が好きだったり、良いこと に書いたお金以外の要素にメリットを感じられる人でないと、あまり副業エンジニアは向いていないのではないかと思います。

とはいえ "好きだから働いています!お金第一ではありません!" とキラキラした瞳で言ってしまうともちろん給料/単価は上がりませんので、言う相手とやりがい搾取には気をつけて、適度に強く生きていきましょう 🐯

Discussion