「プログラミングは文系には難しい?」
「稼げるのはセンスがある一部の人?」
「情報系の大学を出た高学歴の人でないと難しい?」
このページを訪れたあなたは、そんな疑問や悩みを抱えていないでしょうか?
私は文系出身でIT業界に転職して、5年ほど勤務した経験があるので気持ちはよく分かります。総じて、年齢によって個人の役割が明確で、スキルや仕事内容によって年収に差が出やすいのがIT業界です。
結論を言えば、技術者として長く勤務するためには、自分のスキルを上げてステップアップする必要があります。
本記事では、プログラミングだけでは稼げない理由とその対処法をメインに解説します。
最後まで読んでいただければ、稼ぐために必要なイメージをしっかりとつかめるでしょう。
5年間の業界経験を生かして徹底解説しますので、ぜひ参考にしてみてください。
プログラミングは稼げないと言われる理由
プログラマーには高収入のイメージがないでしょうか?
しかし、プログラミングスキルのみで稼ぐのは難しいです。現状のスキルをベースにできることを増やして行かなければ、高収入にはつながりません。ここでは、プログラミングは稼げないと言われている理由を説明していきます。
プログラマーになるだけなら高収入は見込めない
プログラマーの平均年収は420万円です。IT業界以外の仕事と比べても決して高収入とは言えません。プログラミングの他に仕事の幅を広げないと、収入アップにはつながらないでしょう。
プログラマー以外の主要なIT職種の平均年収を以下にまとめました。
職種 | 平均年収 |
システムエンジニア | 550万円(最大年収は50代の660万円) |
プロジェクトマネージャー | 627万円(376万円~1,148万円) |
ITコンサルタント | 610万円(独立した場合は1,000万円を超える) |
AIエンジニア | 400万円~1,300万円 |
安定して高収入を得ながら長く働きたいのであれば、顧客折衝やプロジェクト管理などのコミュニケーションが生かせる仕事にステップアップする必要があります。
また、AIなど特定の分野を極めても高年収につながっている場合が多いです。
中にはプログラミングの才能が人並み外れていて、専門的な技術を身に付けて高い給料でコーディングのみで働くエキスパート的なエンジニアもいます。
しかし本当に一握りですし、そういった方であってもリーダーや後輩の指導など対人スキルが必要な業務をどこかのタイミングで経験しています。
高収入を得て長く働くには、プログラミングだけのスキルでは難しいでしょう。
参考サイト : プログラマーの年収は高いのか?どのくらいの企業規模だと高年収なのか?プログラマーについて徹底解説します! (heikinnenshu.jp)
プロジェクトマネージャーの仕事の平均年収は627万円/平均時給は2,388円!給料ナビで詳しく紹介|求人ボックス (xn--pckua2a7gp15o89zb.com)
これらの他にも、プログラミングを用いた職業は数多くあります。こちらの記事で、それぞれの職業の特徴や必要なスキルなどをまとめていますので参考にしてみてください。
使用言語によって収入に差がある
プログラミングは稼げないと言われている理由の1つは、使用言語によって収入に差があるからです。
「R言語」は20代の平均年収で476万円、ピークの40代が753万円と全言語の中でもっとも高い年収です。対して、20代の最低は「F#言語」の312万円。40代の最低は「Go言語」の539万円。
言語によって年収に100万円~200万円の差があることが分かります。
年代が上がると、どの言語も収入は伸びて行きますがバラツキはかなりあります。
若いうちに1つの言語の経験しか積めないと、年齢が上がってから収入アップは苦労するでしょう。
逆に、仕事をしながら自己学習を行い、複数の言語に対応できるように努力したエンジニアは現場から重宝され年収を伸ばします。
参考サイト : 2020年プログラミング言語別年収ランキング – TECH Street (テックストリート) (tech-street.jp)
働き方による違い
副業やフリーランスという言葉を聞いたことはあるでしょうか。
簡単に説明すると、個人で直接企業と契約し、仕事を受注することで報酬を得る働き方です。そのため、個人のスキルレベルや働いた量次第では、収入が上がりやすい働き方と言えます。
一方で、会社員エンジニアは収入があがりにくいです。そのため、フリーランスや副業という働き方と比較すると、稼げないという印象を持つ人も少なくないでしょう。
フリーランスエンジニアについてや必要なスキルはこちらの記事でまとめています。ぜひ参考にしてみてください。
副業でも稼げない場合がある
副業やフリーランスは収入を上げやすいという話をしました。
しかし、副業でも稼げない場合があります。ここでは、なぜ副業でも稼げない場合があるのかを紹介します。
クラウドソーシングの案件は単価が安い
クラウドソーシングサイトの案件は、高いものから安いものまでピンからキリですが、
総じて単価は安い傾向です。代表的なクラウドソーシングサイトのエンジニア案件をみると、1万円から50万円程度と報酬の幅は広いです。
高単価な案件ほど高いスキルが求められ、ライバルが多いので案件は簡単に獲得できません。結果的に、単価の安い案件しか受注できないので労働時間の割に大して稼げません。
低スキル・低単価の案件は、Webサイトの「一部分」をデザインしたり、機能を改修したり少し技術を学んだ程度の未経験者でも対応できるものが多いです。確かに、案件は獲得しやすいのですが、スキルがほとんどつかないので将来的に高収入につながりにくいです。
また、クラウドソーシングサイトのデメリットは高い手数料をとられてしまうことです。
単価によって差はありますが、納品して得られる収入の5%~20%を手数料として引かれてしまいます。
したがって、クラウドソーシングの案件で高収入を狙おうとしても難易度は高いです。
自分で案件をとるなら営業力・つながりが必要
もしも、副業やフリーランスで収入アップを考えている場合、いくらプログラミングに自信があっても営業力がなければ案件を獲得できません。自分で案件を継続して受注するには、営業力・つながりが必要です。
プログラマーは、基本的にコーディングが主な業務なので営業力を磨く機会は極めて少ないです。プログラミングだけでは稼ぎないと言われているのは、プログラマーは全般的に案件をとるための営業力に乏しいからです。
案件を獲得するには自身のスキルを羅列する(並べる)だけではなく、「自分に依頼するメリット」をクライアントが納得するようシンプルに伝える必要があります。営業力は誰でも簡単に身に付くものではなく、努力の積み重ねで養われていきます。
高収入を得るならつながりも大切です。案件は自分で提案して獲得するのが基本ですが、知人からクライアントに推薦してもらう方法もあります。自分で営業する方法とは違い、ライバルがいないので確実に受注できます。
プログラミングの他にコミュニケーション能力や対人スキルを磨き、営業力のアップとつながりを構築しないと高い収入を得るのは難しいでしょう。
スキルが身に付いていない
プログラミングスキルが身に付いていないと、単価の高い案件を受けられる可能性は低いです。そのため、単価の低い案件を受けながら、経験を積んでいく必要があります。
しかし、単価の安い案件はwebサイトの一部分だけのコーディングなどの案件が多いです。そのため、体系的なスキルは身に付かず、結局単価の高い案件を受けられない期間が続いてしまいます。
こうして、スキルが身に付いていないと単価の低い案件ばかり受注することになり、稼ぎにつながらなくなってしまいます。
フリーランスエンジニアについて興味のある方は、こちらの記事でフリーランスエンジニアの現実について解説しています。キャリア選択の参考になると思いますのでぜひ参考にしてみてください。
プログラミングで稼げるようになるには
「現状に満足せずに、できることを増やして行く。」
プログラミングで稼げるようになるために、最も必要な意識です。
若いうちであれば、プログラミングのみでもスキル的には問題ありません。
しかし、年齢を重ねるにつれてコーディングの仕事は減っていきます。
他のエンジニアと差別化できる技術を、少しずつでも身に付けましょう。
エンジニアとして長く活躍したければ、会社にしがみつくだけではなく自らアクションを起こさなければいけません。
実務経験を積む
どの業界でも、その分野の知識が豊富な人やスキルの高い人は重宝されます。同じように、プログラミング業界でも実務経験の長い人は高い年収で働いていたり、高単価の案件を受注したりできる可能性が高いです。
特に、プログラミング業界ではプログラミングスキルがとても重視されます。そのため、時には個人で仕事を受注するなどして、スキルを高めながら実務経験を積んでいく必要があります。
技術力を上げる
プログラミングで稼げるようになるには、システム開発の経験を積んでスキルを上げていくのが王道です。しかし、運悪く入社後にスキルアップできないプロジェクトに配属される可能性もあります。
そのような場合は、自分でスキルを高めるためのアクションを起こしましょう。
- オンラインで受講できる、プログラミングの勉強会に参加してみる。
- 働きながらスクールで言語を学び、技術の幅を広げる。
- 開発現場のソースコードを読む
などが有効です。
それぞれを説明して行きます。
プログラミングの勉強会に参加
プログラミング関連の勉強会やイベントは、オンライン上で多く開催されています。
豊富な実績があるエンジニアが講師なので、有益な情報を聞けるチャンスです。
プログラミング言語の基本からIT業界の動向までを学べるので、積極的に参加しましょう。
勉強会やイベントに参加すれば、情報量が増えます。将来的にお客様と接する上流工程の仕事を担当する時に、自社のシステムを提案したりお客様の話しを聞いたりする役に立ちます。
働きながらプログラミングスクールに通う
働きながらプログラミングスクールに通って、ピンポイントで身に付けたいスキルを学ぶ のも1つの方法です。
費用はかかりますが、スクールのカリキュラムはよく練られており、現場レベルのスキル を過不足なく学習できるのがメリット。まだ仕事の経験が少ない場合は、あれこれと教材に 手を出して時間を浪費するよりもスキルアップには手っ取り早いでしょう。
今やスクールは多く内容も費用も様々です。費用を抑えるなら、自分が学びたい内容のみを扱っている講座を選択すれば問題ありません。どのスクールが自分とマッチするかどうか、十分に比較検討しましょう。
働きながらでも通えるおすすめのプログラミングスクールはこちらの記事で紹介しています。興味のある方はぜひ参考にしてみてください。
開発現場のソースコードを読む
「プログラミングの技術を上げる最も良い方法は、現場レベルのソースを読むこと。」システム開発の現場に入っていた時に上司からよく言われました。
書籍などに載っているプログラミングコードは、難易度が低いです。理由としては、市販の教材やWebサービスは読者に基礎を理解させる目的で作られているからです。
現場レベルのソースコードを読むことが最も実践に沿っており、スキルアップへの近道です。プロジェクトごとにコードは管理されていますが、見せて欲しいと頼めば通常は断られません。
一つのシステムは複数のプログラミング言語で構築されている場合が多いです。
最初は難解なコードも粘り強く調べて行き、徐々に理解できれば効力よく多くの言語を身に付けられます。
最後に、プロジェクトリーダーに今後の仕事について相談しましょう。技術力が身に付く仕事を担当させてもらえるように、身に付けたスキルをもとに社内営業をかけるのです。
もちろん、プロジェクトの事情もあるのですぐに希望通りになるとは限りません。
それでも、コツコツと行動を続けていきましょう。
高い収入が見込める言語を習得する
プログラミング言語によって、収入差があることは先に書きました。プログラミングで稼げるようになるには、高い収入が見込める言語を自分から習得して行きましょう。
ただし、求人数とのバランスは考慮する必要があります。いくら収入が高くても、求人数が少なければせっかくスキルを取得しても就業にはつながらない恐れがあるからです。
求人数と収入面を総合すると、「PHP」「Python」「Java」「Ruby」などがおすすめです。
難易度もそれほど高くはないので、取得にもそこまで時間はかかりません。
システムエンジニアやプロジェクトマネージャーよりも、プログラミングで高収入を得たいなら、まずは対応可能な言語の幅を広げて専門性を身に付けましょう。
参考サイト :
2020年プログラミング言語別年収ランキング – TECH Street (テックストリート) (tech-street.jp)
Nojov – プログラミング言語別求人数ビューア (kou-pg.com)
信頼を獲得・つながりを作る
高い収入を得るためには、それなりに責任があるポジションで仕事をしなくてはいけません。そのためには社内での信頼獲得やつながりを作ることが大切です。
普段から仕事でミスが多く、スキルアップに積極的でない人には残念ながらチャンスは訪れません。多少不器用でも、業務を正確に早く終わらせる工夫をし、足りないスキルは自分で補おうとする努力が見えれば、周囲からの信頼を獲得できます。
信頼を得ると、自然に協力者が増えます。徐々に責任のある仕事を任せてもらえるでしょう。エンジニアは多くの会社と仕事をする特性上、横のつながりができやすいです。
日々、周囲とのコミュニケーションを大切にして業務に取り組めば、関わったエンジニアから仕事を紹介される可能性もあります。また、現状よりも収入が高い企業にヘッドハンティングされる可能性もゼロではありません。
信頼を得られるように努力して、多くの人と関わる意識を持つからこそ可能です。
プログラミング以外のスキルと掛け合わせる
プログラミングスキルだけでは、高収入を得ることは難しいです。
繰り返しますが、プログラマーの平均年収だけを見るとそこまで高くはありません。
プログラミング以外のスキルと掛け合わせることで、はじめて高収入が可能です。
プログラミングスキルの他におすすめなのが、営業力と簿記の知識です。
営業力はお客様に提案内容を分かりやすく伝えて納得してもらう、プレゼンテーションスキルやニーズを理解する能力。営業力が優れている人は一方的に話すのではなく、お客様の話をよく聞いて潜在的なニーズを探りながら提案していきます。
簡単には身につかないスキルですが、高収入を得るためには非常に重要です。
- 自分で案件を獲得するフリーランスへの転身や副業を考えた時。
- 社内営業をして、新しい業務を担当させてもらう時。
- システムエンジニアやプリセールスにステップアップ。
以上のような状況で、営業スキルは役立ちます。
コーディングが主な業務なので仕方のないことですが、多くのプログラマーに足りないスキルです。
新卒でプログラマー入社した社員は、数年経つとお客様と接するシステムエンジニアの仕事にシフトします。すると、これまで順調だったのがウソかのように仕事が上手くいかず退職するケースは非常に多いです。
営業力など対人関係のスキルは、IT業界で仕事を続けていく上で必須と言えます。
また、エンジニアにとって簿記の知識も重要です。会計システムを構築する際の業務知識としても使用しますが、クライアント企業の経営状況や課題を把握するために使用できます。
自社のシステムを提案する時には、企業の課題に対してソリューション(解決)を与える目的があります。企業の状況をもっとも客観的に理解するには、財務諸表の見方を理解して「数字」を追えるようになることです。
したがって、簿記の資格学習は非常に有効です。
基本的な企業経営について理解するには、最低限「日商簿記2級」程度の知識は必要でしょう。しかし、最近は簿記2級の難易度は年々上がっているので合格には相当な時間を要します。
時間のないエンジニアにとっては非常に痛手ですが、資格を取らなくても参考書を通読するだけでも勉強になります。まずは学習をスタートさせてみてはいかがでしょうか?
転職する・フリーランスになる
今の会社では実績が積めずに高収入が望めないのなら、思い切って環境をかえるのも一つの手段です。別の会社に転職したりフリーランスになったりすることで、劇的に収入アップする場合もあります。
ただし、経験が少ない状態で会社を辞めるのはリスクが大きいのでおすすめしません。
下手をすると、就職先や案件が見つからない可能性もあります。
求人サイト「リクナビNEXT」によると、企業が求める経験年数のトップは3年以上です。もちろん、企業により条件は異なるので一つの目安と考えていただければ問題ありません。
参考サイト :
応募条件の謎を解明します!「実務経験年数」の巻|【Tech総研】 (rikunabi.com)
しかし、さまざまなリスクを考えると最低でも3年の実務経験は欲しいところです。
自社開発企業への転職を狙う場合は難易度が非常に高いです。企業への直接雇用で定年まで勤めてもらうのが前提なので、どうしても応募者を見る目が厳しくなります。
「なぜ、弊社なのか?(同業他社との違い)」
「あなたを採用するメリットは?」
「弊社サービスのどのような点に魅力を感じたか?」
などの簡単には答えられない質問を深堀して、次から次へと飛んできます。
自社開発企業はライバルも多いので、徹底的に対策を行なわいと選考は突破できません。
フリーランスの場合は案件を獲得して稼働しないと収入はゼロなので、ある程度は継続して案件を受注できる状態が望ましいでしょう。
以上のことから考えると、やはりシステム開発の実務経験を積んでから転職やフリーランスへの転身を考えるべきでしょう。
しかし、「実務経験はないけど、どうしてもフリーランスエンジニアになりたい!」という方は、スクールで集中して学習しましょう。
COACHTECHは未経験からフリーランスエンジニアを育成するためのスクールです。無料カウンセリングを実施していますので、気軽にお申し込みください。
また、「フリーランスエンジニアって何?」という方はこちらの記事で、未経験からフリーランスエンジニアを目指す際に知っておきたいことをまとめたので、参考にしてみてください。
プログラミングスクール卒業後に稼いでいる人の特徴
弊社のプログラミングスクール「COACHTECH」の卒業生の中には、プログラミングを身に付けて転職を成功させたり、フリーランスとして働き始めたりして収入を上げることができた方が多くいます。
ここでは、これらの方たちに共通して見られる特徴を紹介します。
学習時間が確保できている
最初の共通点は、学習時間がしっかり確保できている点です。
多くの方が仕事をしながらまたは学校に行きながらプログラミングスクールに通っています。そのため、仕事や学校が忙しくなるとプログラミングの学習時間を削らざる負えません。
しかし、未経験から高いレベルのプログラミングスキルを習得するためには、学習時間の確保は絶対です。
COACHTECHのフリーランスコース(7ヵ月)では、週最低20時間の学習時間の確保を条件としています。自分は学習時間を確保できるのかの一つの目安にしてみてください。
プログラミングが好きである
第2の共通点として、プログラミングが好きであることが挙げられます。
プログラミングが好きな人は、ただ受動的にプログラミング学習を進めるのではなく、自分で考えた別の方法などを試しながら学習していきます。そのため、知識の定着率も高いうえに、スキルもとても高くなります。
これは、プログラミングスクール卒業後の転職活動や案件獲得活動のなかでも高く評価されたという方もいました。
自分で考える力がついている
第3の共通点として、自分で考える力が身に付いていることが挙げられます。
分からない箇所を自分で調べている時間は無駄に感じられるかもしれません。しかし、分からない箇所を自分で考えて解決する力がないと、実際にエンジニアとして活動する際に困ることになります。
答えをすぐに教えてもらえる環境で育ったエンジニアは、エラーが出るたびにどうすればいいのか分からなくなります。Googleで調べればいいと思っている人も多いと思います。もちろん、調べることは大切です。しかし、調べて出てこなかったら?調べても解決しなかったら?自分で考える経験を積まないと、このような場合に対応できなくなります。
それが分かっているからなのか、高収入を実現した方の多くはスクール在籍時から自分で考える癖をつけている人が多かったです。
まとめ
「スキルアップのために自分から積極的に動けるか。」
「コミュニケーション能力の重要性を理解して、身に付ける努力をしたか。」
以上2点が、エンジニアとして高収入を得て長く働き続けられるポイントです。
プログラミングは工程でいえば製造。
企画や設計などお客様と直接関わる上流の仕事と比べて、どうしても収入は低いです。
高収入を得るには、現状に満足せず技術的にステップアップすることを考えましょう。
当時は「エンジニア35歳定年説」と呼ばれ、35歳までに管理的な仕事をしないと職場に居場所が無くなると言われていました。しかし、今でもスキルと年齢のバランスが厳しいのがIT業界です。
技術者として生き残っていくためには、自分が貢献できる仕事を見つけて積極的に貢献していくことではないでしょうか?