2年間Webエンジニアとして副業をやってみた
「エンジニア副業やってみた」ということで、今回は私が本業エンジニアの傍ら、エンジニアの副業をはじめて丸々2年ほどたったので、
- 実際副業やってみてどうだったのか?
- なぜ副業始めようと思ったのか?
- どうやって案件をとっているのか?
- 副業で苦労したこと大変だったこと、良かったこと
などなど語っていこうと思います。 エンジニアとして副業をやってみたいという方や、本業エンジニアで「平日の夜」や「土日」の時間を持て余していて何かしたい人、副業挑戦の足がかりになれば幸いです。
※ここでは、エンジニア副業をなぜ始めたのか?実際やってみてどうだったか?など私個人が感じたことなどを多く語っています。具体的な副業案件の取り方や技術的な話はあまり出てこないので、ご了承ください。その辺りが気になる人向けにも今後情報発信をしていく予定です。
「エンジニア副業」の探し方ガイドという記事も公開しているので、どうやって副業先探せばいいんだろう?最初何から始めればいいんだろうと悩んでいる方は一読してみてください!
エンジニアの副業で気になるところなどQ&Aにまとめたので、手っ取り早く色々知りたい方はQ&Aを読んでみてください!
私の副業と、私のバックグラウンド
まずはじめに、私が今どういう役割・形態で副業をやっているのかや、私自身のバックグラウンドについて話しておきます。
現在の副業についての諸々
現在、私はWebエンジニアとして副業を2つやっています。 両方とも新規でのWebアプリケーション開発で、企業と個人事業主の方のそれぞれの依頼となっています。
契約形態は請負契約で、機能の納品をもって報酬をいただくといった感じです。
担当範囲(役割)としてはフロントエンド、バックエンド、インフラなど多岐に渡ります。 私以外にもエンジニアやデザイナーの方がいたりして、一緒にシステムの開発を行っています。
「週〇〇時間とか固定の曜日だけ仕事をしないといけない」ということは一切なく、かなり自由にさせてもらっています。 なので平日日中は本業で、空いている平日の夜や朝・土日祝日などを使って副業の開発をしています(全く何もしない日ももちろんあります)。 ただ、この働き方は結構珍しい方なんじゃないかなと思います。
私のバックグラウンド
私は大学でプログラミングを学び始めたのですが、実際に初めてプログラミングを触ったのは中学生の時でした。高校時代はCSSを全く使わない(よくわからなかったので)HPをHTMLだけで作成して、テレビゲームのリンク集などを公開してました。ほんとにただ列挙しただけ...。
Webアプリケーションの開発・勉強し始めたのは大学3年のときで、簡単な掲示板みたいなアプリケーションを作成してローカルPC上で動かしてました。
就職してからはたくさんのWebアプリケーションを構築して、個人でもいろいろなアプリケーションを開発公開するようになりました。
- 初めのプログラミングは中学生
- 大学3年で本格的にWebアプリケーション開発を学ぶ
- 就職してからも個人でアプリケーション開発
個人で色々開発したい!という思いが強かったため、メインはバックエンドですが、インフラ領域やフロント領域、デザイン領域にも首を突っ込んでいます。
そのおかげか、副業でも様々な開発を担当させていただいており、サーバのセットアップやAPIの開発、たまにCSSでデザインを書くなんてことあります。
どの領域にも興味があり、それぞれの技術キャッチアップも楽しいと思えるので、ここは副業をする上でもアドバンテージだなと我ながら思っています。
エンジニア副業を始めた経緯
私の今やっている副業やバックグラウンドについて軽く紹介しましたが、私がなぜ「エンジニア副業」を始めたのか、その経緯について話そうと思います。
当初の目的としては、
経験を積むため
というのが一番大きかったです。
副業を自分でやり始める前の話ですが、有り難いことに当時の上司から副業案件のお誘いをもらうことがありました。 当時入社2年目くらいだった私は、自分の技術力に自信が全く持てず、結局その案件に入ること(入る勇気)はありませんでした。
それから1年後くらいに、ある程度会社での開発案件を一人で回せるようになり、少しずつ自分の技術力に自信が持てるようになりました。
その時、今扱っている技術やチーム体制以外で自分のスキルが通用するのかどうかなど気になりはじめ、もっと違う現場で経験をつめたらなーと思ってくるようになりました。
当時エンジニア副業もブームと言うか盛り上がっていたので、転職をするという方法ではなく、エンジニアとして副業をし経験を積もうと考えました。
会社での仕事しか知らなかった自分にとっては、本業以外の他社(他者)と働くのはとても新鮮な気持ちでした。
経験を積むという目的があったので、案件や単価、立場などのこだわりは一切ありませんでした。 本業以外で、自分の技術力を活かして「誰か(企業)の役に立ち、対価を得る」という経験が積めればそれで良いと思っていました。
そんなこんなで、副業案件を探し始めることになるのですが、特にこだわりの条件などないので、副業未経験の割には案件獲得まで、そこそこ早かったんじゃないかなと思います。
最初の案件を始めるまで
当時どうやって副業案件を取るのかなどの知識も全く無かったので、とりあえずググって「クラウドソーシング」を使って応募しまくるという作戦でいくことにしました。
まず自分の出来そうな案件に複数個応募してみました。 大体クライアントが最初に応募要件として求めていることは同じで、
- 現時点のエンジニアスキル
- どういうシステム開発を今まで行ってきたか
この2点が多く募集要項に記載されていました。 「クライアントが作成しようとしているシステムに似た何か」を作った経験があるエンジニアが求められているようでした。当たり前っちゃ当たり前ですね。
この点、自分は結構有利でした。今までいろいろな開発案件に携わってきたので、似たシステム開発経験が割とありました。
ただ最初のいくつかの応募は返信もなく完敗でした。
落ちた理由は、他の応募者の内容や選考の内容がわからないので、確証はないですが
- 応募文の丁寧さ
- 単価
かなと思われます。
他の応募者のプロフィールは見ることができ、そこは特に自分と比べても特段代わりはありませんでした(技術力的にも、経験的にも)
まず「応募文の丁寧さ」というところですが、もちろん自分が雑というわけじゃないですよ。他応募者が丁寧すぎるのではないか?と思いました(思ってるだけなので、なんの根拠もありませんが...)
おそらく、他応募者は自分よりも副業経験(というよりクラウドソーシングでの経験)があるので、どうやったらクライアントの目を引けるか、信頼足りうる応募者として映るかというのが分かっているのではないかと。
クライアントに刺さる言い回しや付加価値などもうまく言っているんじゃないかと推測しました。
次の「単価」に関してですが、案件にもよりますが、「見積もりをしてみてください」という内容が募集文入っていることも多々あったので、その見積もりが他者と比べて高かったのではないかと思います。
クラウドソーシングでは1つの募集に対して、数十の応募が来ることもザラなようで、単価を下げすぎてしまってる応募者がいるかもしれません。また単価感がわからないクライアントからすると、やはり安い応募を優先してしまうんじゃないかなと思います。
なので、ここを改善して応募し直してみると、見事その日中に案件を獲得することが出来ました。
副業の案件を探し始めてから数日で案件ゲットすることができました。単価にこだわりなかったので、低めに設定したのが一番効いたんじゃないかなと思います。
実際に副業やってみてどうだったか
最初の案件
1番初めにした副業案件としては、既存の在庫管理システムの改修や機能追加でした。 その時のクライアントとはもう一緒にお仕事はしていませんが、2〜3ヶ月ほどお仕事ご一緒させていただきました。
働く時間も自由で、週にほんの数時間ほど開発をしてました。 多くは働いていなかったので、報酬自体も1ヶ月辺り2、3万円くらいでした。それでも経験積みながら対価がいただけるというのは非常に有り難かったです。
言語フレームワーク的にはPHP/Laravelという環境でデザイン+機能が一緒になったテンプレート?ライブラリ?を使っていて、それが非常に使いづらかった印象があります。
機能追加で、そのライブラリがそういう機能をサポートしているかしてないかを調べて作るというのが結構手間でした。情報も少なくライブラリのドキュメントも充実していなかったので、ライブラリのコードを読みながら追加開発していました。
実際に副業をやってみて
はじめの案件はライブラリが使いづらかったということ以外は、それほど大変なところはなく、業務のやり取りも非常にスムーズに行えて、良い経験となりました。
クライアントも親切で、やり取り自体もSlackを使って出来たり、質問も自由な時間に投げられたりと良い環境でした。
実際に副業やってみて、
もっと早く始めればよかったな
と感じました。
「技術力に自信が持てなかった時がある」という話をしましたが、その時感じていた漠然とした不安は、大した障壁ではなく、やってみれば「なんてことはないもの」だったと今は思えます。
最初の副業案件が丁度いい案件だったこともあり、結果論でもありますが、そこまで気張らずトライしても良かったんじゃないかなと。
副業で苦労したこと・大変だったこと
ここまでエンジニア副業を初めた経緯や初めの案件をやってみた時の感想などを語ってきましたが、
ここからは、苦労したことなどを話していこうと思います。
累計で6つくらい(企業、個人事業主含む)副業案件をやってきましたが、技術的に苦労したことはあまりなく、基本的なWebアプリケーションを難なく作れるレベルであれば、そこまで大変ではないかと思います。
私の場合、複数のクライアントからの案件を行っていたので、言語やフレームワークが変わったり、内容が変わったりするので、
「あれ、今まで何やってたっけ?」
「この前ここ実装しなかったっけ?あ、違う案件でやったんだった」
などと混乱することがたまにありました。
副業1つであれば、その辺は影響しないかなと思います。たくさん副業をやる場合は、タスク管理やスケジュール管理をしっかり行っておかないと、頭の切り替え(コンテキストスイッチ)が多く起こるので、脳負荷が高まり疲れます。
私の場合、技術面以外の方が苦労したなと感じたので、それらを中心に話します。
会社での副業申告
私はフルタイムの本業があるため、その会社での副業の申告というものがありました。 申告自体が不要な会社や副業がそもそも禁止されている会社などもあると思いますが、私の場合は申告さえ行えば、副業OKでした。
これは私の場合なので参考にはならないかもしれませんが、 副業する前にクライアントの情報を会社に提出したり、どのくらい、どういった内容を行うかを明記する必要がありました。 いくつかのステップを経て副業の許可が下りたら、実際に働けるという感じです。
そのため、クライアントとは仮で話を進めなければならず、もし副業NGがでると断らないといけなくなるため少しヒヤヒヤしました。 また、クライアントの情報を会社に開示することになるので、クライアントにその旨を伝えて許可をとったり、仕事内容を今の会社に知られるということもあり、なんだか面倒だなーと思いました。
このような申告が必要なのは以下の理由があるからだ、と私は考えていましたが、
- 会社の競合に肩入れさせないため
- 従業員が疲弊して本業に支障を出さないため
実際に会社にその旨聞いてみると、残業時間が問題になるからという至極簡単な話でした。もちろん上記の理由もあるらしいですが。
ここは副業する人の中でも見落としがちのようですが、副業の残業時間について厚生労働省は次のように回答していました。
労働基準法第 38 条では「労働時間は、事業場を異にする場合においても、労働時間に関す る規定の適用については通算する」と規定
https://www.mhlw.go.jp/file/06-Seisakujouhou-11200000-Roudoukijunkyoku/0000193040.pdf
2023年現在、労働基準法は特に厳しいらしく、企業側は注意が必要なようです。労働者側もこの辺の知識は持っておくべきでしょう。労働者を守る法律なので破ったところで、労働者が罰せられることはないとは思いますが、会社からのペナルティは何かあるかもしれません。
そんなこんなで、面倒な申告を終え、やっと副業することが出来るようになりました。
副業での契約関係
ぬくぬくと会社員をしてきた身からすると、個人で契約を結ぶなんてことは経験なく、この辺も大変でした。
まず契約形態自体知らないことが多すぎて、どういう契約をするとどういうメリット、デメリットがあるのかよく分からなかったからです。
私としては経験を取りに行っていたので、契約が不利な内容で最悪報酬が支払われなかったとしても別に良いと考えてはいました。
しかし、最悪の場合というのはそれどころではなく「損害賠償」を支払わなければならないという状況にもなりうります
だからこそ、どういう契約形態を結ぶかは非常に重要で、請負契約なのんか準委任契約なのか、 責任の範囲はどこからどこまでかなど、事前に取り決めておかなければなりません。
私の場合は最初の案件はクラウドソーシングで、「開発時間辺りで報酬が支払われる準委任契約」だったので、リスクは特になく始めることが出来ました。
今では、すべてが請負契約で行っていますが、クライアントとの信頼関係も築けており、仕事も継続して行っていて、これまで何かしらのトラブルに発展したことはありません。
ちょっと話が脱線しますが、
以前のクライアントから聞いた話で、 曖昧な契約を結んでいたがゆえに、「成果物が、求めているものと全く異なっていたが、報酬を支払わなければならなかった」という話も聞いたことがあります。
これはクライアント側の話ですが、副業を行う私たち開発者にもこういう状況に陥るかもしれないので、万が一のためにも契約周りはしっかり学んでおくのがいいなと思います。
報酬を受け取る際の請求書と税金周り
普段会社員をしていたら請求書なんてものは、書かないと思いますが、副業をするにあたっては必須です。
最初の副業はクラウドソーシングで行っていたので、請求はシステムが勝手に作ってくれていました。
しかし本格的に副業をするにあたって直接契約をした場合、自らクライアントに請求書を発行する必要があります。この請求書はクライアントにとって経費となりますし、我々開発者は売上となるので、のちの確定申告で必要になってきます。
この辺の知識が当時全く無かったので、かなり右往左往しながら請求書を発行していた記憶があります。
また、確定申告は1年に1回なので、その時期になって請求書がないとか、今まで売り上げた金額が分からないとなったら、非常に面倒です。
実際に自分で請求書を書いてもいいですが、非常に手間なので請求書を発行できるサービスを最初から使用しておくと良いです。
そのようなサービスは確定申告も簡単に行えるような仕組みがあったりして、非常に便利なので最初から取り入れておくと楽ができますし、後から見返したときも分かりやすくなるかと思います。
また副業で稼いだお金に関しては、雑所得として確定申告するのが普通です。 事業所得としていろいろなメリットを享受することも出来ますが、事業所得とするには色々ハードルがあり大変です。
ちなみに、副業の所得は自分で確定申告を行う必要があり、確定申告をする場合は 「ふるさと納税」のワンストップが使えなくなります
忘れがちなので注意が必要です。ワンストップが出来ないので、ふるさと納税自体も確定申告で処理する必要があります。
こんな感じで請求書や税金周りでも、色々と考えることが多いので、副業しながら都度調べるというより、副業を始める前に要点だけでも抑えておくといいかもしれません。
あと 年間20万円副業で稼がなければ確定申告せずに税金回避出来るという話もありますが、 あれは所得税の話で、住民税は稼いだお金がいくらであっても収める必要 があります。
別途住民税の申告を行うようにしましょう。
この場合は確定申告ではなく住民税の申告が必要になる点に注意です。
エンジニア副業して良かったこと
大変なことも多少ありましたが、個人的には技術面でも社会人としても、さまざまな良い経験を得られたらなーと思っています。
技術面での経験獲得
本業とは異なる環境で、異なるサービス開発を行うことで、技術的な知見が高まりました。 なるべく本業で経験したことなが無いような技術や機能開発を率先して取っていたので、エンジニアとしての技術の幅が広がったなと感じでいます。
自分でいろいろな技術を学ぶことはあるのですが、仕事を通して技術を学ぶことで、自分ひとりだとそこまで深入りしない技術を習得出来ました。
また、技術と合わせて「こういう機能を作ったことがある」という経験も非常に大きなものだと思っています。 他の案件を受ける際も、〇〇の開発経験などという風に言えますからね。
本業一本だと、携わるサービスは基本的に固定化されるかと思うので、その点副業は案件が変わって経験が増やせるというところが、とても良いなと感じています。
本業 <-> 副業 間での知識の伝播も行うことができました。本業で〇〇という技術触ったことがあるから副業のこの案件に活かせるとか、その逆も然り。
副業すると人的リソースを本業以外につぎ込んで本業が疎かになる!という考えの会社もあるようなので、この点はメリットは双方にありますよと言いたいですね。
契約・税金関係知識の獲得
この辺りは全く今までノータッチだったので、純粋に勉強出来て社会人レベルが少し上ったなと感じでいます。 小難しい話も多くありましたが、どれも新鮮で楽しみながら学ぶことができました。
まだまだ、わからないことは沢山ありますが徐々に知見を増やしていこうと思える分野です。
中でも税金周りは、知っていると得する情報が多々あり、副業だけではなく普段の生活にも活かせることが色々ありました。 生活の為に支払ったものでも、一部は経費として認められるものがあり、その分税金が安くなるなどなど。
今では仕分けなども自分で行っているので、少なからず会計の知識が向上し世の中の仕組みが少し分かった気に慣れます。
副業をすればするほど人脈が増える
社会人になりたての頃は研修や勉強会に積極的に参加したりと、少なからず自社以外の他者と関わる機会がありました。 しかし、コロナが始まってからは人と合う機会も減り、ただただ時間だけが増えるという、暇な時期が訪れました。
そんな折に副業と出会い、副業繋がりで少しずつ人脈が増え初め、今では有り難いことに複数のクライアントとお仕事したり、年齢も近いこともありプライベートで楽しんだりもしています。
自分にとって、副業をきっかけとした人脈構築は一番の成果だったのかもしれません。
今はスタートアップ企業に副業エンジニアとして参加しており、お金ももちろん対価として支払われますが、 それ以上に、一緒にサービスを大きくしたりて行ったり、純粋に開発出来たり、本業以外での拠り所がある、ということに高い満足感を得ています。
モチベーションの向上
私自身もともと1人でもモチベーションは高いほうなのですが、誰かと同じ目的を持って、何かを作っていくということで、更に高いモチベーションが生まれました。
本業としてのエンジニアも十分すぎるくらいに楽しいのですが、それとプラスして副業でも楽しさを得ることが出来ているので、今の仕事関係は、いたれりつくせりといった感じです。
やはり個人の開発では、飽きが来たりめんどくさくなったりしますが、副業ではクライアントがいるので、自分の成果がクライアントの成果にも繋がり、その点がモチベーション向上につながっているんじゃないかなと思います。もちろん責任もその分大きいんですが。
色々と副業をやって大変だったこと、良かったことなどを話してきましたが、総括して副業ができてよかったと感じています。それと同時にもっと早くやればよかったなとも思っています。
継続的に次の案件を探す
現在、副業案件で2年ほど続いているところもありますが、途中で打ち切りになったりする場合もありました。 私はフリーランスではなくフルタイムで働いているので、最悪案件が0になったとしても特段困りはしないのですが、上に上げたようなメリットが沢山あるので副業案件は切らしたくない、もっと開拓していきたいと常々考えています。
自分一人で稼働できる時間も限られているので、無闇矢鱈に広げたりはしないですが、今の副業がなくなったとしても、候補となりうる選択肢はいくつか用意するようにしています。
クラウドソーシングでの応募は最近は全くやってないですが、他の媒体での応募も出来たりしますし、同じような境遇の人が多くいるコミュニティもあったり、直接TwitterでDMをもらって仕事をしたり、自分から送ったりなどもしています。
どのように副業先を探すかについても解説しているので、ぜひ参考にしてみてください 「エンジニア副業」の探し方ガイド
〇〇について解説してほしい!という方がいたら、ぜひTwitterや、お問い合わせからご意見いただければと思います。
今回の記事内容についてのQ&Aも以下に載せておきます。
質問等があったらメッセージいただければ回答させていただきます。
今回の記事についてのQ&Aまとめ
エンジニア副業についての「やってみた系」の記事を今回書きましたが、具体的な内容については深く触れていないので、気になる質問があればここでお答えしていきます。 質問されるであろう内容や、質問された内容も掲載しているので参考にしてみてください。
※あくまで私個人の回答となるので、一般的な回答とならない可能性があります。その点ご了承くださいませ
Q. フロントエンド、バックエンド、インフラ単体での副業案件ってある?
A. たくさんあります。クラウドソーシングでも副業斡旋サイトでもたくさん見ますね。知人の紹介とかであれば、フルスタック的に動ける方とかを求めていたりするので、職種単体での依頼は少ないかもです。
ただ土日だけとか自由な働き方は出来ない可能性が高いかもしれません。職種単位で受けるということは別の職種の方も働いているということでもあり、相互に関係し合うような機能開発であれば、同じタイミングでまとまった時間やり取りしながら開発してもらいたいとクライアントは思うと思うからです。
Q. 未経験、初心者でもエンジニア副業は出来るの?
A. かなり難しいかなと思います。エンジニアとして副業する人は、本業でもエンジニアをしている方が多いかと思うので、その人たちと副業枠を争わないといけないかと思います。 サイト上で募集しているところに申し込んでも、見向きもされないことがほとんどかなと思うので、アプローチを変えて案件獲得に取り組んで行くかのがいいかなと思います。
経験させて貰う代わりに単価を抑えて参加するなど。直接クライアント交渉ができればいいですね。 ただハードルは結構高いので、ある程度技術力を伸ばすのが先決かなと思います。
Q. どのくらいのレベルであれば副業でエンジニア出来る?
A. 案件によりまちまちですが、初心者に毛が生えた程度でも案件獲得することは出来るかと思います。ただ単価等の条件は妥協することになるかなと思います。
ある程度、自分一人でWebアプリケーションを0から構築してリリース出来るスキルが有れば、割とすんなり案件は獲得できるかと思います。
ただし「なんか動いた!」ってレベルじゃなく、しっかりと理解し、どういう設計をして自分のコードがどう動いているのかなどを説明出来るレベルじゃないと長続きしないかと思います。
Q. 副業の単価はどんな感じ?
時間単価になおすと2,000円〜5,000円くらいかなといったイメージです。 初心者であれば普通にアプリケーションが構築できて最低レベルで2,000円くらいなので、初心者+αだともっと金額はシビアになるんじゃないかなと思います。 人によっては1時間で終わる内容も、10時間かかっても終わらないことだって普通にありますからね。
運良く1つ目の案件が単価高く取れたとしても、継続するためにはクライアントからの信頼を獲得しないといけないので、プログラミング能力はもちろん、仕事成り方なども工夫して継続発注してもらうことが重要かなと思います。
Q. 副業も本業もエンジニアをしていて大変じゃないの?疲れない?
私の場合ですが、全く疲れません。むしろやる気が上がるのでどんどんしていきたいですね。 体が実はつかれてるなんてこともあるかもしれないので、意識的に休憩を取るようにしてますが。
Q. どのくらいの頻度で、どのくらいの分量をいつやっているの?
私の場合は新規の開発をすることが多いので、仕事の分量としては結構多いかなと思います。 2,3ヶ月で1つのアプリケーション(MVPみたいな)を作ることが多いです。
忙しかったときは毎日2,3時間くらい、土日は8時間以上開発していました。 たまに忙しくなったりするんですが、平均的には週に5〜10時間くらいしかやってないかなーと思います。
割と自由に働けているので、全く開発をしない週もあったりします。気分で 真夜中に開発することもあります。
この辺は完全にクライアントによるので、働き方は相談しながら決めるのがいいかと思われます。
Q. 副業どういうシステムを今まで作ってきたの?
対企業や対個人向けのシステム開発を経験してきました。 在庫管理システムや予約管理、Zoomのようなミーティングセットアップシステムや、CGM(ユーザーがコンテンツを作るシステム)やCMS(WordPressみたいなシステム)なども作ってきました。
私はどちらかというと、ガッツリと案件に関わってクライアントとあれこれ相談しながら、進めていきたいタイプなので、単発の機能開発などは少ないですね。
Q. 副業ってリモートなの?出社とかするの?
今まで出社という感じはないです。 ただみんなで集まって開発などはしたことがあります。複数人で開発するのは楽しいですよ。
基本的にリモートで開発しています。定期的にMTGなどもありますが、オフィスにいってなどはないです。 また案件にもよりますが、何度も案件やっているにも関わらず、1度しか会話しなかったこともあります。大体の話はチャットでどうにかしています。
質問したい方はTwitterのDM、またはお問い合わせページよりメッセージいただければと思います。 ※質問内容は省略して掲載する場合があります。
ITプロパートナーズ様にインタービューいただきました!
Implistではエンジニア技術の情報発信をしておりますが、
この度「ITプロパートナーズ様」にImplistとしてインタビューいただき、
ITプロマガジンというメディアで「エンジニアにおすすめの副業は?案件獲得サイトと収入アップのコツ」という記事に掲載していただきました。
インタビュー内容としては、本記事の題材でもある「エンジニアの副業」についてです。
ITプロパートナーズ様、ありがとうございました!