【体験談】プログラミング初心者・未経験者が副業で稼げない理由と稼げるようになるコツ

当サイトでは一部リンクに広告が含まれています
目次

はじめに

私は企業に所属して現役の Web エンジニア(主にRuby on RailsとVue.js)として働きながら、副業としてプログラミングスクールでプログラミング講師としても働いています。

さらにプログラミング講師業ではすべて在宅ワーク(リモートワーク)で行っており、質問対応・メンタリングでのサポートが主な業務です。
あくまでフルタイムで働いている Web エンジニアが本業であり、副業は平日夜や土日のみですが、それでも 月に 20 万円近く、最大で30万円 の収入を得ています。

そのプログラミング講師業の中で多くの生徒さんから以下のような質問を受けます。

また、私自身、プログラミングの副業を始める前は「プログラミングの副業って初心者では稼げないのではないか?」という疑問を持っていました。

副業としてプログラミングを始めることは、収入を得るための素晴らしいチャンスです。
しかし、実際に生徒さんが疑問を持っているように、プログラミング初心者や未経験者にとっては稼げないのではないかという不安もあります。

本記事ではその疑問にお答えしつつ、稼げるようになるためのコツをご紹介します。

プログラミングの副業が「稼げない・やめとけ」は本当?

プログラミングの副業が稼げないというのは本当でしょうか?
ここでは、プログラミングの副業が稼げないというのは本当かどうかを検証していきます。

初心者・未経験者がWebアプリ開発案件で稼ぐのは難しい

副業案件として人気な開発案件、特にWebアプリケーション開発ではどうしても実務経験が重要になってきます。
それは、実務経験があることでクライアントに対して信頼性が高まるからです。

実務経験の有無は単純なプログラミングスキルの証明に留まりません。
実務では、プログラミングスキル以外にも重要なスキルが求められます。
例えばテストによる品質の担保、Git、デプロイのサーバスキルなどなど、実務経験がないと身につきにくいスキルが多くあるからです。

私自身、Webエンジニアとしては未経験から転職してスタートしましたが、上記のようなスキルが不足していることで最初は苦労しました。

案件ではある程度のプログラミングスキルがあることは前提ですので、実務経験がないということは、実務で本当に必要な付随スキルが不足しているということになります。
そのため、初心者・未経験者がWebアプリ開発案件で安定して稼ぐのは厳しいのが実情です。

実務未経験でも開発案件以外なら稼げる可能性はある

上述の通り、Webアプリ開発案件では実務経験が特に重要になるため、初心者・未経験者が安定して稼ぐのは厳しいです。
一方で、実務未経験でもWebアプリ開発案件以外なら稼げる可能性はあります。

Webアプリ開発案件以外の副業案件としては、以下のようなものがあります。

  • 記事執筆・Webライティング
  • 業務効率化ツールの作成
  • 簡単なWebサイト制作・Webデザイン
  • プログラミング教育・コーチング

上記のような副業案件は クラウドワークス  ランサーズ、他には ココナラなどのクラウドソーシングサイトで見つけることができます。
こういったサイトでは個人が発注している場合もあることから難易度が低い案件も混ざっており、実務未経験者でも獲得できる可能性があります。

また、本格的なプログラミングスクール以外にもMENTAのような技術相談・コーチングについては完全に個人間での発注です。
さらにクライアントの多くはプログラミング初心者ですので、ある程度のプログラミングスキルがあれば案件(相談実績)を獲得できる可能性があります。

※私自身もMENTAでプログラミング教育・コーチングの案件を獲得しており、平日夜・土日の空き時間を活用し、過去最高だと月に7万円の収入を得させていただきました。

MENTA売上履歴

また、時間帯はもちろん、オンライン教育の内容についても自分のレベルに合わせることができるため、比較的リスクが少なく挑戦できる副業なのでおすすめです。

実務経験者は稼ぎやすい

それでもやはり、実務経験者は業務経験がある分クライアントからの信頼を得やすいため、副業案件を獲得しやすいです。
また、実務経験者はプログラミングスキルだけでなく、実務で必要な付随スキルも身についているため、案件の幅も広がります。

さらに単純に案件を獲得しやすいだけでなく、実務経験者は高単価の案件を獲得しやすいというメリットもあります。

私はプログラミングの実務未経験から転職し、実務経験を積んでから副業を始めましたが、実務経験者としての副業は非常に稼ぎやすいと感じています。

プログラミング初心者が副業案件を獲得できない3つの理由

プログラミング初心者が副業案件を獲得できない理由はさまざまですが、以下に主な要因を3つご紹介します。

1. 基礎技術だけでは獲得できる案件が少ないから

初心者の場合、基礎的な技術や知識だけでは魅力的な案件を獲得するのは難しいです。
需要の高いプロジェクトやクライアントの要求に応えるためには、より高度なスキルが求められます。

2. クラウドソーシングサイトの競争率が高いから

クラウドソーシングサイトでは多くのプログラマーが案件を探しています。

その結果、初心者が入札するときは他の多くの経験豊富なプログラマーと競合することになります。
競争率が高いため、初心者にとっては契約獲得がどうしても難しくなってしまいます。

クラウドソーシングでは多くの案件が存在しているのですが、特に開発案件で受注を勝ち取ることは厳しいのが実情です。

3. スキルの証明ができないから

実務経験がある場合「今までどのようなプロジェクトに携わってきたのか」「実務ではどのようなスキルを身につけてきたのか」などを通じて、自身のスキルを証明することができます。
一方、実務の経験がない場合はそういった実績がないため、クライアントからの信頼を得ることが難しいです。

もちろん、オープンソースプロジェクトへの参加などを通じてスキルの習得や経験の積み重ねることも出来ますが、初心者には非常にハードルが高いと言えます。
ではどうすれば、初心者でも副業案件を獲得できるのでしょうか。次の章でご紹介します。

プログラミングの副業案件を獲得するための3つのポイント

point

初心者・未経験者でもプログラミングの副業案件を獲得するため、以下の3つのポイントに注目しましょう。

1. ポートフォリオでスキルを証明する

実務経験がない場合でも、個人のポートフォリオを作成することで自身のスキルを証明できます。
ポートフォリオとは、自身のスキルや実績をまとめたものや、自身のスキルを証明するための成果物(例: 公開したWebアプリ)のことです。

独学や学校で学んだことを生かして、独自のウェブサイトやアプリケーションを開発し、その成果物をポートフォリオとして提示することが大切です。
これにより、自身のプログラミング能力やクリエイティブな思考を証明し、企業に対する信頼を築くことができます。

ポートフォリオはあなたの技術的な能力だけでなく、あなたがプロジェクトを始めて完了するまでのプロセスも示す重要なツールです。
それぞれのプロジェクトで使用した技術スタック、解決した問題、そして得られた結果を詳細に説明することで、あなたの専門性・献身性を見せることができます。

また、あなたが何を得意としているかや、何を重視しているかを表現することも考慮してみてください。
例えば、あなたが使い勝手を重視している場合は、ユーザーインターフェースのデザインに重点を置いたポートフォリオを制作し、あなたの強みをアピールしましょう。

2. 現場で必要な実践的スキルを身につける

先述した通り、プログラミングスキル以外にも現場ではテスト、コードレビュー、デバッグなど、実務で必要なスキルはたくさんあります。

例えば書籍や Zenn などの学習プラットフォームを利用し、これらのスキルを学びましょう。
その際には「Lint」「テスト駆動開発」「デバッグ」などのキーワードで検索すると、より効率的に学習できます。

私もこういった「実践的な開発手法」というテーマで Zenn に本を公開しています。ぜひご覧ください。

3. より専門性の高いスキルを身につける

基礎的なプログラミングスキルだけでなく、特定の分野における高度なスキルを身につけることで、専門分野を確立することも重要です。

具体的には特定のプログラミング言語やフレームワークに精通することが重要です。

例えば Web アプリの分野であれば人気のフレームワーク (Ruby on Rails / React など) や、最近ですとデータ分析・機械学習などの技術は需要が高く、これらのスキルを持つと大きなアドバンテージとなります。
もちろん、専門性の高いスキルを身につけることは時間と労力を必要としますが市場価値を大きく向上させ、競争力を強化します。

さらに、あなたが選んだ専門分野に関連するコミュニティに参加することもおすすめです。
これにより、最新のトレンドやベストプラクティスを学び、同じ興味を持つ人々とつながることができます。

プログラミング初心者が副業で稼げないと言われる5つの理由

案件を獲得できたとしても、プログラミング初心者が副業で安定して高収入を維持することは難しいとされています。
その理由を詳しく見ていきましょう。

1. 未経験でもできる案件は単価が低いから

初心者でも獲得できる案件は、基本的なコードの作成やデータの入力・整理といった比較的単純なタスクが多くなります。
これらは誰でもできるような業務であるため、単価が低く設定される傾向にあります。

さらに、これらの業務は効率的に行うにはある程度の経験が必要であり、初心者は時間がかかってしまうことも少なくありません。
その結果、時間当たりの収入が低くなってしまいます。

2. 求められるスキルレベルが高いから

一つ上の理由と逆の話ではありますが、より高い報酬を得られる案件は、高度なプログラミングスキルや深い専門知識を必要とするものが多いです。

これらの案件は複雑な問題を解決したり、特定の技術を用いて特別な機能を開発したりすることが求められます。
初心者はまだこれらのスキルを十分に身につけていないため、こうした高度な案件をこなすことは難しいでしょう。
そのため、初心者のうちは単価の低い案件をこなしながら、スキルを磨いていくことが重要です。

3. 実務で必要なテスト・コード品質の知識がないから

実際の業務では、ただ単にコードを書くだけではなく、そのコードが適切に動作することを保証するためのテストの知識や、コードの読みやすさなど、いわゆるコード品質が重要です。
これらの知識やスキルが不足していると、品質の高い成果物を提供することが難しくなります。

クライアントから信頼を得るためには高い品質(テストによる安定した動作や、保守性の高いコード)の成果物を提供することが重要です。そのため、これらの知識やスキルを身につけることは、案件業で成功するために必要不可欠です。

4. 稼働(工数)の確保が難しいから

副業はその名の通り、主たる仕事や生活と並行して行うものです。そのため、プロジェクトに対して充分な時間を割くことが難しい場合があります。

さらに、プログラミングは一度にまとまった時間を必要とする作業であり、中断されると効率が大きく低下します。
こうした理由から、副業としてプログラミングを行う際には時間管理が大きな課題となります。

私がプログラミングスクール講師として見てきた生徒さんの中にも、副業を始めたものの、仕事や家庭の都合でプロジェクトに時間を割くことができず、結局は挫折してしまったという方がいます。

これを克服するためには、高い品質の成果物を短期間で提供できるようになることが重要です
そのためには、純粋なコーディングスキルの向上や、テストやコード品質の知識を身につけることも必要です。

5. 受注が安定しないから

プログラミングの副業では、案件の確保は自己責任となります。
初心者はまだ自身のスキルを適切にアピールする能力や、信頼できるクライアントを見つけるネットワーキング能力が不足していることが多く、受注が安定しないことがあります。

また、初めてのクライアントを獲得した後も、その案件が継続的に発生するとは限らず、一度の案件終了後に新たな案件を見つける必要があります。

例えば私がたまに手がけている MENTA でのコーチング業においては一度のコーチングが終了すると、次に相談事ができるまでの間にしばらく空きが生じたり、生徒さんが自分で解決できるようになったりするため、継続的に受注できるわけではありません。
こうした理由から、副業としてプログラミングを行う際には、受注が安定しない場合があるので注意が必要です。

プログラミング副業の単価を上げる5つのポイント

最後に、副業における単価(回数 or 時間あたりの報酬) についても考えていきましょう。
初心者・未経験者の場合はどうしても単価が低くなりがちですが、以下の5つのポイントを意識することで、単価を上げることができます。

1. テストやコード品質など実践的スキルを身につける

実務で求められるテストやコード品質の知識を習得しましょう。
品質保証(QA)のためのテストスキルは、コードが目的通りに機能することを証明し、クライアントの信頼を勝ち取るために必要不可欠です。

また、リーダブルでメンテナンスしやすいコードを書く能力は、長期的なプロジェクトでのあなたの価値を大幅に高めます。
このようなスキルを身につけることで、より高単価の案件にアクセスでき、結果的に収入を増やすことができます。

2. 現場で使われている技術を身につける

最新の技術やツールに精通しましょう。

例えば、ReactやVue.js、Ruby on Railsのようなフレームワークはもちろんのこと、テストや コード品質、CI/CDなどのツールも身につけておくと良いでしょう。
例えば、React/Vue.jsを書くフロントエンドエンジニアや、Ruby on Railsを書くエンジニアであれば以下のようなツールが有名です。

  • テストツール:Jest、Vitest、RuboCop、
  • コード品質:ESLint、RuboCop、Prettier
  • CI/CD:GitHub Actions、CircleCI、Jenkins

現在市場で需要の高いこういった技術について使ったことがあったり理解していると、より多くの案件に対してアプローチできます。

3. チーム開発の経験を積む

実務でのチーム開発経験は、プロジェクトへの参加において重要です。
開発プロジェクトはほとんどがチームで行われ、そのためコードの共有、ブランチ戦略、チームでの調整などのスキルが求められます。

通常、一人で学習しているとチーム開発の経験を積むことは難しいですが、MENTA ではチーム開発の経験を積めるようなプランを提供しているメンターもいますので、ぜひ利用してみてください。
他にはチーム開発を経験できるプログラミングスクールも中にはありますので、これからプログラミングを学ぶ方は、そういったスクールを選ぶのも良いでしょう。

4. 実力を証明できるポートフォリオを作る

自身のスキルや成果を証明するために、ポートフォリオを作成しましょう。

先述したように、副業の場合は実績が少ないため、ポートフォリオを作成することで、クライアントに自分の実力をアピールすることができます。
具体的な成果物を示すことで、あなたの技術レベルと実際にタスクを達成できる能力を証明できます。
例えば、自分でWebアプリケーションやWebサイト、ツールなどを作成してデプロイしたり、ソースコードをGitHubなどに公開しておくと良いでしょう。

5. 実務経験を積む

これまではあくまでプログラミングでの現場未経験であることを前提にしてきましたが、一番手っ取り早いのはやはり実務経験を積むことです。

実務経験は副業の単価を上げるために欠かせません。
実際のビジネス環境での作業は技術はもちろんのこと、期限管理、コミュニケーション、問題解決などのスキルを身につけるのに不可欠です。
企業での実務経験が少しでもあるかどうかで、クライアントからの評価が大きく変わってきます。

まとめ

プログラミング初心者や未経験者でも副業で稼ぐことは可能ですが、今回ご紹介した通り多くの課題があります。
今回紹介したようなスキルの習得や経験の積み重ね、自己アピールのためのポートフォリオ作成などに取り組むことで、副業での収入を増やすことができます。

未経験でも今から準備を始めることで、副業案件を獲得し、収入を増やすことができますのでぜひチャレンジしてみてください。

目次