プログラミング副業初心者が踏み抜く地雷原|失敗しないための生存戦略と現場のリアル

目次

黒歴史とも言える数々の失敗談

「納期、明日でしたよね。進捗どうなってますか」

深夜2時、静まり返った部屋に響くSlackの通知音。
画面に表示されたクライアントからの冷淡なメッセージを見て、私は胃液が逆流するような感覚に襲われました。
本業の繁忙期が重なり、連日の残業でヘトヘトになった体に鞭打ってPCに向かっているのに、バグは一向に消えない。
「簡単な修正案件です」という募集文を信じて飛びついた案件は、蓋を開けてみれば前任者が逃げ出したスパゲッティコードの山でした。
時給換算すれば100円にも満たないような金額で、睡眠時間を削り、本業に支障をきたし、家族との時間さえ犠牲にしている。
「私、なんでこんなことやってるんだろう」
モニターの明かりに照らされた自分の顔が、窓ガラスに亡霊のように映り込んでいました。

これは、私が副業エンジニアとして駆け出しだった頃の、忘れられない失敗の記憶です。
「プログラミングは稼げる」「副業で月5万は余裕」
そんな甘い言葉に踊らされ、準備不足のまま戦場に飛び込んだ結果がこれでした。
技術力さえあればうまくいくと思っていました。でも、それは大きな間違いだったんです。
副業で失敗する原因の9割は、技術力以前の「立ち回り」や「契約」「コミュニケーション」にあります。

あれから10年。
今はフリーランスのエンジニアとして独立し、メンターとして数多くの初心者を指導する立場になりましたが、当時の私と同じように「地雷」を踏んで爆死していく人を何人も見てきました。
彼らが踏む地雷は、驚くほど共通しています。
つまり、その地雷の場所さえ知っていれば、避けて通ることができるんです。

今回は、私の黒歴史とも言える数々の失敗談と、そこから導き出した「副業で失敗しないための鉄則」を、泥臭く、そして包み隠さずお話しします。
綺麗な成功法則なんて書きません。
現場で生き残るために必要なのは、キラキラした理想論ではなく、血の通った生存戦略ですから。
これを読み終わる頃には、あなたの足元にある地雷が見えるようになっているはずです。
さあ、地獄を見ないための準備を始めましょうか。

「簡単なお仕事」という名の底なし沼

副業を始めたばかりの頃、多くの人が陥るのが「案件選び」のミスです。
特にクラウドソーシングサイトには、初心者狩りのような案件がゴロゴロ転がっています。
私もまんまと引っかかりました。

初心者歓迎の裏にある意図

「未経験OK」「初心者歓迎」「マニュアル完備」
こうした文言を見ると、ついつい安心してしまう気持ちはわかります。
でも、発注する側の心理を考えてみてください。
なぜ、わざわざスキルの低い初心者を歓迎するのでしょうか。
答えは単純です。「安く使い倒したいから」です。
あるいは、プロのエンジニアなら一瞬で「割に合わない」と判断して避けるような面倒な作業を、相場を知らない初心者に押し付けたいからです。

私が過去に受けた「初心者歓迎」のスクレイピング案件の話をしましょう。
「指定したサイトから商品情報を取得するだけの簡単なお仕事です。予算1万円」
これだけ見れば、Pythonを少しかじった人なら「数時間で終わるな」と思うかもしれません。
しかし、実際に着手してみると、そのサイトは複雑なJavaScriptで動的に生成されており、単純なリクエストではデータが取れませんでした。
さらに、頻繁に仕様変更が行われ、そのたびにコードを修正しなければならない。
極めつけは、取得すべきデータ項目が後からどんどん追加されていくという「後出しジャンケン」の嵐。
結局、1週間以上かかりきりになり、時給は数十円レベルになりました。
「初心者歓迎」は「低単価で文句を言わずに働く奴隷歓迎」と同義だと思ったほうがいいです。

曖昧な要件定義はデスマーチの入り口

「いい感じにデザインしてください」
「使いやすい機能を実装してください」
こういうフワッとした依頼を受けてはいけません。絶対にです。
「いい感じ」の定義は人によって全く違います。
あなたが思う「いい感じ」で作って提出しても、クライアントからは「なんか違う」「もっとポップに」「やっぱりクールに」と、感覚的な修正指示が無限に飛んできます。
エンジニアの仕事は、コードを書くことだけではありません。
「何を作るか」を明確に定義すること、つまり「要件定義」こそが最も重要な仕事なんです。

私がメンターをしている生徒さんから「修正が終わらなくて納品できない」という相談を受けることがよくあります。
話を聞くと、ほぼ100パーセント、事前の要件定義が曖昧です。
「このボタンを押したらどうなるか」「エラーの時はどう表示するか」「スマホでの表示はどうするか」
これらを着手前にガチガチに固めておかないと、後で自分の首を絞めることになります。
「決まっていないなら、今は着手できません」と断る勇気を持つこと。
それが、プロとして自分を守るための第一歩です。

テスト環境がない案件の恐怖

Web制作やシステム開発の案件で、テスト環境(ステージング環境)が用意されていない案件も危険です。
「本番環境で直接修正してください」
これ、さらっと言われることがありますが、エンジニアからすると「爆弾処理を素手でやれ」と言われているのと同じです。
万が一、コードの記述ミスでサイトが真っ白になったらどうしますか。
ECサイトなら、ダウンしている間の売上損失を賠償請求される可能性すらあります。
私は一度、本番環境のWordPressを更新してサイトを飛ばしたことがあります。
バックアップも取っていませんでした。
あの時の、血の気が引いて手足が冷たくなっていく感覚は、二度と味わいたくありません。
「ローカルで開発して、テスト環境で確認して、本番にデプロイする」
この当たり前のフローが許されない案件は、どんなに単価が高くても断るべきです。
リスクとリターンが見合っていません。

深夜のデスクでバグだらけのコードが表示されたモニターを前に頭を抱え込んでいる男性エンジニアの線画イラスト

コミュニケーションコストを甘く見ると死ぬ

副業エンジニアにとって、技術力以上に重要なのがコミュニケーション能力です。
ここで言うコミュニケーション能力とは、面白おかしく話す力ではなく、「正確に情報を伝え、相手の意図を汲み取る力」のことです。
ここを疎かにすると、信頼を一瞬で失います。

即レスは最強の防具

副業をしていると、本業の会議中や移動中にクライアントから連絡が来ることがあります。
もちろん、即座に対応作業をすることはできません。
でも、「返信」だけは即座にすべきです。
「メッセージを確認しました。現在本業の会議中ですので、20時以降に詳しく確認してご連絡します」
たったこれだけの返信があるかないかで、クライアントの安心感は天と地ほど違います。
連絡がないと、クライアントは「逃げられたんじゃないか」「無視されているんじゃないか」と不安になります。
その不安が不信感に変わり、トラブルに発展するのです。

私の知り合いの優秀なエンジニアが、副業で失敗した例があります。
彼は技術力はピカイチでしたが、連絡不精でした。
「作業に集中したいから」と、平日は一切連絡を返さず、週末にまとめて返信していました。
ある時、緊急のバグ報告が来ていたのに、彼はそれに気づかず(あるいは無視して)週末まで放置しました。
結果、クライアントは激怒し、契約は即解除。損害賠償の話にまで発展しました。
技術があっても、連絡ができなければ仕事はできません。
トイレ休憩の隙間時間でもいい。スタンプひとつでもいい。
「あなたのメッセージを見ていますよ」というサインを出し続けること。
これが、副業エンジニアが身を守るための最強の防具になります。

「言った言わない」を防ぐテキストコミュニケーション

オンラインでのやり取りが主になると、どうしても認識のズレが生じやすくなります。
口頭やZoomで話した内容は、必ずテキストに残してください。
「先ほどの打ち合わせの内容をまとめました。認識に相違がないかご確認ください」
と、議事録を送る癖をつけるんです。
これは面倒くさい作業ですが、後でトラブルになった時の証拠になります。
「そんなこと言ってない」「いや、言いました」という水掛け論ほど不毛なものはありません。

また、テキストコミュニケーションでは、感情が伝わりにくいことにも注意が必要です。
「修正お願いします」
たった一言のメッセージでも、受け取り手によっては「怒っているのかな」と不安になったり、「冷たいな」と感じたりします。
特に修正依頼や指摘をする時は、意識して丁寧な言葉を使うようにしましょう。
「ここのコード、バグってるんで直してください」ではなく、
「ここの挙動が仕様と異なっているようです。お手数ですが、ご確認いただけますでしょうか」
と言い換える。
クッション言葉を挟むだけで、相手の印象は大きく変わります。
相手も人間です。気持ちよく仕事をしてもらうための配慮ができる人は、どこへ行っても重宝されます。

専門用語を使わない優しさ

クライアントの多くは、技術のプロではありません。
「サーバー」「ドメイン」「デプロイ」「コミット」「API」
普段私たちが当たり前に使っている言葉も、彼らにとっては宇宙語かもしれません。
専門用語を並べ立てて説明するのは、自己満足でしかありません。
相手に伝わらなければ意味がないんです。

「サーバーのレスポンスが悪化しているので、キャッシュ戦略を見直す必要があります」
と言うよりも、
「アクセスが集中してサイトが重くなっているので、表示を速くする仕組みを導入しましょう」
と言った方が、相手には伝わりますよね。
専門用語を噛み砕いて、相手のビジネスの言葉で語ること。
これができるエンジニアは、「話がわかる人」として信頼され、単価アップにもつながります。
逆に、わからない言葉で煙に巻こうとするエンジニアは、敬遠されるだけです。

カフェでクライアントとオンラインミーティングをしながら穏やかな表情で丁寧な説明をしているエンジニアの線画イラスト

契約と金銭トラブルのリアル

「お金」の話は避けて通れません。
副業とはいえ、立派なビジネス取引です。
ここをあやふやにしていると、働いたのにお金がもらえない、という最悪の事態になりかねません。

契約書がない仕事は受けるな

知人の紹介や、SNS経由での依頼だと、つい口約束で仕事を進めてしまいがちです。
「友達だし大丈夫だろう」「契約書なんて大げさだな」
その油断が命取りになります。
どんなに親しい間柄でも、いや、親しいからこそ、契約書は絶対に交わすべきです。
報酬額、支払日、納期、修正回数の上限、著作権の帰属、瑕疵担保責任の期間。
これらを明記した契約書(または発注書)がなければ、仕事に着手してはいけません。

私も昔、知人の社長から「Webサイト作ってよ、出世払いでいいから」と言われて引き受けたことがあります。
「出世払い」なんて、払わないと言っているのと同じです。
結局、サイトは完成しましたが、一円も支払われませんでした。
それどころか、更新作業まで無料でやらされそうになり、関係は破綻しました。
契約書があれば、こんなことにはならなかったはずです。
ネット上にテンプレートはいくらでもあります。
面倒くさがらずに、一枚紙を交わすだけで、自分を守ることができるんです。

着手金をもらう勇気

初めて取引するクライアントや、高額な案件の場合は、着手金をもらうことを強くおすすめします。
報酬の30パーセントから50パーセントを先払いしてもらうんです。
これは、入金トラブルを防ぐためだけではありません。
「お金を払ったんだから、ちゃんと進めよう」という、クライアント側の本気度を引き出す効果もあります。
もし着手金の支払いを渋るようなら、そのクライアントは資金繰りが怪しいか、支払う気がない可能性があります。
早期にリスクを検知するリトマス試験紙としても、着手金交渉は有効です。
「個人の副業だから言い出しにくい」なんて思う必要はありません。
あなたはプロとして仕事をするんですから、正当な要求です。

修正回数の制限を設ける

Web制作の現場で一番多いトラブルが「無限修正」です。
納品直前になって「やっぱりここの色を変えて」「レイアウトをガラッと変えたい」と言い出すクライアントは一定数います。
これに対応していると、いつまで経っても案件が終わりません。時給は下がり続ける一方です。
これを防ぐためには、見積もりの段階で「修正は2回まで無料。それ以降は追加料金が発生します」と明記しておくことです。
あるいは、「デザイン確定後の大幅なレイアウト変更は別途費用がかかります」と伝えておくこと。
追加料金がかかるとわかれば、クライアントも慎重に確認するようになります。
自分の時間を安売りしないこと。
これは、副業を長く続けるための絶対条件です。

デスクで契約書を入念にチェックし重要事項にマーカーを引いているエンジニアの線画イラスト

技術力不足という名の落とし穴

「案件を受けながら学べばいい」
これは一面では真実ですが、度を超えると信用問題になります。
自分の実力を客観的に把握し、背伸びしすぎないことも重要です。

「なんとかなる」はなんとかならない

新しい技術に挑戦するのは素晴らしいことですが、実務経験ゼロの言語やフレームワークの案件を、納期が厳しい状況で受けるのは自殺行為です。
「React案件、単価高いから応募しちゃえ。勉強しながらやればいいや」
この考えで痛い目を見た人を何人も知っています。
学習と実務は別物です。
実務では、予期せぬエラー、環境依存のトラブル、ライブラリのバージョン不整合など、教科書通りにいかないことが山ほど起きます。
基礎がない状態でこれらに対応しようとすると、時間がいくらあっても足りません。
結果、納期に間に合わず、クライアントに迷惑をかけ、自分の評価を下げることになります。
挑戦するなら、まずは個人開発でその技術を使ってみて、一通り動くものを作ってからにしましょう。
クライアントの案件を実験台にしてはいけません。

コピペエンジニアの末路

ネット上に落ちているコードをコピペして動かす。
これ自体は悪いことではありません。現場のエンジニアもやっています。
問題なのは、「コードの意味を理解せずにコピペすること」です。
なぜ動いているのかわからないコードは、バグが出た時に修正できません。
また、セキュリティホールを含んだコードをそのまま使ってしまうリスクもあります。
以前、コピペしたお問い合わせフォームのコードに脆弱性があり、そこからスパムメールの踏み台にされたサイトを見たことがあります。
その修正対応に追われたエンジニアは、報酬以上の損害賠償を請求されそうになっていました。
「動けばいい」という思考停止は、いつか必ず大きな代償を払うことになります。
一行一行、何をしているコードなのかを理解する姿勢を忘れないでください。

質問力を鍛える

どうしてもわからないことがあった時、誰かに質問できるスキルは重要です。
しかし、「わかりません、教えてください」と丸投げするのはNGです。
それでは誰も助けてくれません。
「何を実現したくて」「どんなコードを書いて」「どんなエラーが出て」「自分なりにどう仮説を立てて試したか」
これらを整理して質問できる能力が必要です。
エンジニアの世界では、質問の仕方一つで、その人のレベルがバレます。
正しく質問できれば、teratailやStack Overflowといったコミュニティで助けてもらえますし、メンターがいれば的確なアドバイスをもらえます。
質問力は、技術力の一部です。
エラーが出たらパニックになるのではなく、「お、成長のチャンスが来たな」と捉えて、冷静に状況を分析する癖をつけましょう。

自宅の作業スペースで専門書を開きながらコードの挙動を入念に確認している男性エンジニアの線画イラスト

本業とのバランス崩壊

副業に熱中するあまり、本業や私生活がおろそかになっては元も子もありません。
健康を害してしまっては、稼ぐどころの話ではなくなります。

睡眠時間を削るな

「平日は本業があるから、副業は深夜にやるしかない」
その気持ちはわかりますが、睡眠時間を削るのは一番やってはいけない解決策です。
睡眠不足は、判断力、集中力、免疫力、すべてを低下させます。
本業でミスを連発し、副業でもバグを生み出し、体調を崩して寝込む。
これでは何のために副業をしているのかわかりません。
時間は「作る」ものです。
朝早く起きる、通勤時間を活用する、無駄な飲み会に行かない、スマホゲームをやめる。
生活を見直せば、睡眠時間を削らなくても捻出できる時間は必ずあります。
私は朝型に切り替えて、出社前の2時間を副業タイムにすることで、健康的に稼働時間を確保しました。
自分の体は、一番大切な資本です。大切に扱ってください。

本業をおろそかにしない

副業が軌道に乗ってくると、本業がバカらしく思えてくる時期が必ず来ます。
「会社に行ってる時間があれば、もっと稼げるのに」と。
でも、そこで態度に出してはいけません。
会社員としての安定収入(ベーシックインカム)があるからこそ、副業でリスクを取った挑戦ができるんです。
社会保険料を半分負担してくれて、有給休暇まである。こんなにありがたいスポンサーはいません。
本業をおろそかにして評価が下がれば、居心地が悪くなり、精神的に追い詰められます。
また、副業禁止の会社でバレた場合、懲戒処分の対象になる可能性もあります。
本業もしっかりこなしつつ、賢く副業をする。
これが、最もリスクの少ない生存戦略です。
「会社を踏み台にしてやる」くらいのしたたかさを持ってください。

家族の理解を得る

結婚している人や、パートナーがいる人の場合、家族の理解は不可欠です。
土日も部屋にこもってPCに向かい、話しかけても生返事。
これでは、家庭崩壊待ったなしです。
「なんのために稼ぐのか」を共有しましょう。
「来年、家族でハワイに行くために月5万稼ぎたいんだ」という目標があれば、家族も応援してくれます。
そして、稼いだお金で美味しいものを食べに行ったり、プレゼントを買ったりして、還元することも忘れずに。
一番身近な人を幸せにできないのに、クライアントを幸せにすることなんてできませんよ。

税金という見えない敵

最後に、避けては通れない税金の話をします。
「稼いでから考えればいいや」と思っていると、後で痛い目を見ます。

確定申告からは逃げられない

副業の所得(売上ー経費)が年間20万円を超えたら、確定申告が必要です。
「バレないだろう」というのは甘いです。
マイナンバー制度も始まり、お金の流れはガラス張りになりつつあります。
無申告がバレたら、追徴課税で稼いだ分以上の税金を取られることになります。
20万円以下でも、住民税の申告は必要です。
日頃から領収書を整理し、会計ソフト(freeeやマネーフォワードなど)を使って帳簿をつけておくこと。
これは面倒ですが、ビジネスをやる上での義務です。
私は毎月末に必ず経理処理の時間を設けています。
溜め込むと地獄を見ますが、毎月やれば30分で終わります。

住民税で会社バレ

「副業禁止だけど隠れてやりたい」という人は、住民税に注意してください。
副業で稼ぐと住民税が増え、会社に通知が行くことでバレるケースが大半です。
確定申告の際に、住民税の徴収方法を「普通徴収(自分で納付)」にすることで防げる場合が多いですが、自治体によっては対応が異なることもあります。
リスクをゼロにすることはできません。
一番良いのは、副業OKな会社に転職することか、会社に申請して許可をもらうことです。
隠れてビクビクしながら稼ぐより、堂々と稼いだ方が精神衛生上も絶対に良いです。

確定申告の書類作成画面を見ながら電卓を叩き安堵の表情を浮かべるエンジニアの線画イラスト

失敗は避けるものではなく、乗り越えるもの

ここまで、たくさんの「失敗の種」を紹介してきました。
読むだけでお腹いっぱいになったかもしれません。
「こんなに大変なら、副業なんてやめようかな」と思った人もいるでしょう。

朝の光が差し込む窓辺でノートPCを開き新しい案件の通知を見て微笑む男性エンジニアの線画イラスト

でも、最後に伝えたいことがあります。
失敗しない人なんていません。
私も、ここで書いた失敗のほとんどを経験しました。
クライアントに怒鳴られたこともあるし、入金されなくて悔し泣きしたこともあります。
それでも、辞めずに続けてきたから、今があります。

失敗は、避けるに越したことはありませんが、してしまったとしても死ぬわけではありません。
大事なのは、同じ失敗を繰り返さないこと。そして、失敗から学んで改善することです。
今日お話しした内容を頭の片隅に置いておけば、致命傷は避けられるはずです。
擦り傷くらいは、勲章だと思って笑い飛ばせばいいんです。

プログラミング副業は、あなたの人生の選択肢を確実に広げてくれます。
会社に依存せずに稼ぐ力。場所を選ばずに働く自由。
それらを手に入れるためのチケットは、もうあなたの手の中にあります。

恐れずに、一歩を踏み出してみてください。
最初は小さな一歩でいいんです。
簡単なコーディング案件から始めてみる。知人のサイトを作ってみる。
その積み重ねが、いつかあなたを想像もしなかった場所へ連れて行ってくれます。

あなたの挑戦が、実りあるものになることを心から応援しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いたエンジニア

当山 綾乃のアバター 当山 綾乃 機械学習エンジニア

機械学習・データ分析に強いエンジニア。複雑なモデルを分かりやすく説明する力があり、社内の相談役的存在。柔らかい口調だが芯が強く、物事を丁寧に進めるタイプ。休日は美術館巡りが好きで、新しい刺激を仕事にも活かしている。

目次