こんにちは。
この記事を読んでいるあなたは、

「プログラマーって年収が低いって本当?」
「プログラマーとして働く上で年収を上げる方法ってあるの?」
このように思っているのではないでしょうか?
せっかくプログラマーになったのに年収が低いのは嫌ですよね。
そこでこの記事では、あなたのそんな悩みを解決するために以下の内容をまとめます。

・プログラマーの年収が低い根本的な理由
・いつまで経っても年収が上がらないプログラマーの特徴
・プログラマーになり、最速で年収を上げるための方法
この記事を最後まで読むことで、プログラマーで年収が低い人の原因や、どうやったら年収を上げることができるか?などを理解することができます。
しっかりと読んで、プログラマーとして高い年収をもらえるようになってくださいね!
僕はこれまで年収の低い人から高い人まで、様々なプログラマーを見てきた(この記事の信頼性)

僕は過去、メーカーに勤務していました。
今はIT企業でプロジェクトマネージャーとして働いています。
これまで担当してきたのはソフトウェアの開発なので、これまでいろいろなタイプのプログラマーと関わってきました。
メーカーとIT企業を通じて、実に様々なプログラマーがいたのですが、彼らを分類すると、以下の3つに分かれることに気づきました。
この3つのタイプで、仕事での担当領域や年収も大きく異なります。
プログラマーAさん: フリーランスのプログラマーとして言われたことをプログラミングする
今僕が働いているIT企業には、フリーランスエンジニアとしてプロジェクトに参画している人がいました。
その人の名前をAさんとしましょう。
Aさんはフリーランスエンジニアであり、僕が勤めている企業の社員ではありません。
彼は社員からの指示に従い、プログラミングをしていました。
その人はフロントエンドエンジニアで、プログラミングのスキルとしては、特に問題ないレベルでした。
言われたことはきちんとこなせる、ごく普通のプログラマーでした。
ただ、Aさんには問題が1つあり、社員エンジニアはAさんの扱いに苦労していました。
何かというと、
・視野が狭く、常にその人の作業のことしか頭にないこと
という点でした。
作っていたのが新規事業系のサービスだったこともあり、社員エンジニアは常に大忙しです。
まさに、猫の手も借りたい状態でした。
そんな忙しい状態だと、プログラマーにも、プログラミングだけができるだけではなく、プロジェクトのことを考えて自主的に動いてもらう必要があります。
一方、Aさんは自分で何かをやることはしなかったため、「スキルは問題ないのに扱いに困る人」という評価を受けてしましました。
結果、Aさんはせっかく持っているプログラミングのスキルを活かしきれず、単価を上げることはできませんでした。
プログラマーBさん: 人材派遣会社に所属しており、プログラミングだけでなくプロジェクトの管理までできる
また、僕は人材派遣会社で働いている人と一緒に仕事をしたことがあります。
この人の名前をBさんとしましょう。
このBさんは、人材派遣会社に所属しており、そこのリーダーとしての役割でした。
多く所属しているプログラマーのまとめ役としての仕事がメインです。
具体的には、僕や社員エンジニアからお願いのあった内容を詳細化し、プログラマーが開発できるレベルに分解したり、開発の進捗を管理したりしていました。
もし問題があった場合は、僕や社員エンジニアに声をかけて、その問題の解決方法を探ったりします。
Bさん自身はほとんどプログラミングをすることなく、プロジェクト管理系の仕事がほとんどでした。
そんなBさんは非常に優秀な人だったので、お願いする側としても非常に助かっていました。
細かい年収などを聞いたことはありませんが、「彼のチームにまかせておけばプロジェクトが進む」ということもあり、社内での評判はかなり高かった記憶があります。
プログラマーCさん: 僕と同じ企業の正社員プログラマー
また、僕が今働いているIT企業で正社員のプログラマーをしている人がいます。
この人の名前をCさんとしましょう。
僕が働いているIT企業では、社員のプログラマーの仕事はプログラミングだけではありません。
プログラミングの他にも、
・アーキテクチャの設計
・(場合によっては)スケジュールの調整
などなど、多岐に渡る仕事をこなす必要があります。
僕と一緒に働いていたCさんも、外部向けAPIの仕様策定や、アーキテクチャの検討、どのくらいのスケジュールで開発が終わりそうか?の見積もりなどを行っていました。
また、自分の手がまわらない箇所はここまでに出てきたAさん、Bさんなどのフリーランスや業務委託として参加しているプログラマーに、仕事をお願いしたりしていました。
僕の知っている限りこのCさんはプログラマーとしての仕事が半分、プロジェクト管理の仕事が半分くらいだったと思います。
ちなみに、僕がメーカーだった頃の社員エンジニアも、これと同じくらい、あるいはそれ以上にプロジェクト管理系の仕事が多かった記憶があります。
Cさんのように、プログラミングだけに閉じずに幅の広い仕事をしているエンジニアは、全体的に年収は高い傾向にありました。
この記事では、僕がこれまで関わってきた多くのエンジニアやプログラマーを分析してまとめています。
・一方、どのような人は年収が上がらないままなのか?
こういったリアルな現実を踏まえた内容になっているので、信頼性はあると思っていただいてよいかと思います。
[前提]日本のプログラマーの年収は?
![[前提]日本のプログラマーの年収は?](https://www.mame-blog.site/wp-content/uploads/2022/03/programmer-income-is-low03-1024x682.jpg)
まず、前提として日本のプログラマーの平均年収を紹介します。
政府統計の「職種別きまって支給する現金給与額、所定内給与額及び年間賞与その他特別給与額」によると、プログラマー全体の平均年収は425万円となります。
日本人の平均年収も420万円くらいと言われるので、プログラマーの年収は、ほぼ日本人の平均くらいといえるでしょう。
これを高いと見るかどうかは人によると思います。
ただ、プログラミングという特殊技能が必要なのに平均レベルの年収しかもらえないとなると、低いと感じる人も多いかもしれません。
また、10人〜99人くらいの従業員の比較的小さい企業で390万円となります。
未経験からプログラマーになったばかりの人の場合、この平均の年収までもらえない可能性も高いため、実際はさらに低くなってしまうこともあります。
こういった実態があるため、「プログラマーの年収は低い」と言われるようになっていると考えられます。
日本のプログラマーの年収が低いのは、日本のソフトウェア開発の構造に原因がある

具体的にプログラマーの年収が低い原因の前に、まずは日本のソフトウェア開発の構造のお話をしておきましょう。
もちろん個別のプログラマーに問題があるケースもありますが、プログラマーの年収が低いのは日本のソフトウェア開発の実情も、大きく関わっているためです。
日本のソフトウェア開発では、「プロジェクトの方向性を決めたり管理する人ほど年収が高い」傾向がある
身も蓋もない話ですが、日本におけるソフトウェア開発では、「プロジェクトの管理に携わっている人ほど年収が高い」傾向があります。
いわゆる「上流工程」と呼ばれる、要件を決めたりソフトウェアの設計や方針を決める役目の人ほど、年収が上がります。
具体的には、ソフトウェア開発では
・システムエンジニア
・アーキテクト
このように呼ばれる人たちが、プロジェクトの方針に大きな影響を与えます。
つまり、こういった役割に就くことができれば自然と年収は上がることになります。
言い換えると、上流工程に携わらない限りいつまで経っても年収を上げることができないとも言えます。
フリーランスのケースで見ると、プログラマーとしての平均月収が60万円〜70万円であるのに対して、プロジェクトマネージャーの場合、その月収が100万円近くになります。
プログラマーが軽視されているわけではありませんが、まずはこれが日本のソフトウェア開発の現状です。
社員エンジニアはプロジェクト管理や方針決めを行う「上流工程」に携わる→年収が上がりやすい
社員エンジニアのケースを、もう少し詳細に見ていきましょう。
社員エンジニアの場合、仕事の内容は以下のようなものになります。
・企画や仕様担当者との認識を合わせて、何を作るか?を検討する
・業務委託やフリーランスなど、外注先のプログラマーにプログラミングしてほしい内容を依頼する
・外注先のプログラマーが書いたプログラムのレビューを実施する
つまり、プログラミングの作業を実施することはあまりありません。
プログラミング自体は外注として依頼している人に任せてしまい、社員エンジニアはソフトウェアの設計を検討したりすることが多いのです。
場合によっては、「エンジニア」という名前で呼ばれているにも関わらず、全くプログラミングを行わないエンジニアも数多くいたりします。
仕事中に使うのはパワーポイントの説明資料やエクセルのスケジュール管理ばかり・・・なんてことも多いのが特徴です。
もちろんプログラミングの作業をしない限り、プログラミングスキルが上達することはほぼありません。
ただ、それでもプロジェクトに与える影響が大きいため、社員エンジニアの年収が一番高くなります。

大規模開発は何重もの委託が行われて、利益を中抜きされる→プログラマーの年収が低くなる
社員エンジニアからお願いされたプログラミングの仕事は、プログラマーの派遣会社に所属している人が行います。
また、銀行のシステムなど特に大規模な開発の場合は、委託が
・二次外注 (孫請け)
・三次外注 (ひ孫受け)
・・・
というように、次々に委託される場合もあります。
こういう多重での委託が行われる場合、プログラマーがどんなに優秀でも、頑張ったとしても、委託をしているそれぞれの会社が利益の中抜きを行うため、プログラマーの給料は、非常に安くなってしまうのです。
さらに、委託の委託の・・・を繰り返した結果、各プログラマーはプロジェクトの全体像を把握することができず、「ただ言われたものをプログラミングするだけ」になってしまいます。
「言われたものだけをプログラミングするだけ」だと、ソフトウェア開発の上流工程に携わることができないですし、上流工程に関するスキルや知識を身につけることもできません。
その結果、末端でプログラマーとして働いている人は、年収を上げづらくなる悪循環に陥ってしまいます。
いつまで経っても年収が上がらないプログラマーの特徴

続いて、いつまで経っても年収が上がらず低いままのプログラマーの特徴を紹介いたします。
プログラミングのスキルがない人
基本中の基本ですが、プログラミングスキルのないプログラマーは年収を上げることができません。
プログラマーとして高い年収を獲得したい場合、他の人と同じレベルかそれ以上のプログラミングスキルが必要となります。

僕の同僚のプログラマーで、あまりプログラミングが得意でない人がいました。
プログラマーとしてスキルが不十分だと、上司からもリーダーやプロジェクトマネージャーにアサインされることもありませんでした。
(そうなると、この記事で説明している通り、年収は上がりづらくなってしまいますね)
また、プロジェクトマネージャーなどの上流工程に携わりたい人であっても、ある程度プログラミングのスキルは身につけておく必要があります。
それぞれの役割ごとにどのくらいのレベルのプログラミングスキルが必要か?は以下の記事にまとめてあります。
興味がある場合はあわせてこの記事も読んでみてください。
多重の委託が行われるプロジェクトや企業で働いている人
すでに説明した通り、特に巨大なソフトウェアプロジェクトでは、何重もの外注が行われます。
その外注の途中で、本来あなたの給料に反映される分の金額が、企業によって中抜きされている可能性があります。

「きちんと成果を上げているはずなのになかなか給料が上がらない・・・」
このような悩みを持っている場合、多重請負の構造が原因になっている可能性があります。
プログラミングしか出来ない人
プログラマーとして働く場合であっても、プログラミングしかできないと、
なかなか年収を上げることができません。
具体的には、以下のようなスキルは必須と言えるでしょう。
・不具合修正
・チームでの開発
もしこれらのスキルに不安がある場合、「言われたことしかできない人」という烙印を押されてしまい、年収が上げづらくなるリスクがあります。
コミュニケーション能力が低い人
プログラマーであっても、コミュニケーション能力は重要です。
どのようなものを作るかを正しく理解する必要がありますし、もし何か問題があったらその内容を関係者に伝える必要があります。
仮にコミュニケーション能力があまりない場合、

「あのプログラマーは何を言ってるのか分からない・・・」
「こちらの言ってることを理解してくれないんだよなぁ」
なんて思われてしまう可能性があります。
結果仕事を任せられないプログラマーになってしまい、年収がいつまで経ってもあがらない状態になってしまいます。
プロジェクトの全体像や流れを理解しない人
実際にプログラマーとして働き始めたら、プロジェクトに今必要とされていることを的確に理解し、遂行する必要があります。
仮にプロジェクトの全体像や求められていることを理解できていない場合、どんなにプログラミングスキルが優れていても、その人の年収は上がりません。

プログラマーが年収を上げるための条件

続いて、プログラマーが年収を上げるための条件をお伝えします。
僕のまわりにいる年収の高いプログラマーと年収の低いプログラマーを比較した結果を踏まえているので、非常に信頼性があるかと思います。
プログラミングなどの日々の仕事をきちんと実施できること
ごく当たり前の話ですが、日々の仕事をきちんと実施できるのは大前提です。
仕事ができない人の年収は上がりません。
もしあなたが「まだプログラマーとしてスキルがイマイチなんだよな・・・」と思っているのであれば、まずはしっかりとスキルを身につけるようにしましょう。
目安としては、プログラマーとして1年くらい働いて、一人でタスクの管理やプログラミングにかかる時間の見積もり、そしてプログラミング作業などをこなせるレベルです。
プログラミング以外にも、設計やタスク管理なども行えること
この記事でも紹介している通り、プログラミングだけにならず、ソフトウェアの設計やタスク管理ができることも重要です。
プログラミングしかできないプログラマーは、「言われたことしかできない人」と思われてしまいます。

「あの人に仕事を任せておけばしっかりタスクの管理をしてくれるし、設計・プログラミングなど全ての仕事をやってくれる」
と思われるように、プログラミング以外のスキルも身につけるようにしましょう。
技術選定やシステムの方針検討まで出来ること
さらに年収や市場価値を上げるためには、技術選定やシステムの方針検討までできるとなお良し、です。
特に新しいシステムを作り始めるタイミングでは、
・今後の計画も踏まえ、どのような方針でシステムを作るか?
などを検討するタイミングがあります。
プログラマーになった直後ではこういった仕事は難しいかもしれませんが、少しずつ経験を積んでいく上で、最適な技術や方針の検討・決定ができるようになると、プログラマーとしての市場価値を高めることができます。

プロジェクトマネジメントまでできること
プロジェクトの管理ができるようになると、プログラマーとしての価値を上げることができます。
例えば、共同開発する企業とのスケジュール調整やリスクの洗い出し、運用方法の決定などプロジェクトマネジメントができるとそれだけで引く手あまたな人材になることができます。
ちなみに、プログラミングとプロジェクトマネジメントのスキルは大きく異なります。
プログラミングが苦手でもプロジェクトマネジメントは得意という人もいるので、もしあなたがプログラミングで苦戦している場合、プロジェクトマネジメント系のキャリアを目指すのもよいかもしれません。
作っているサービスやビジネスのことを理解してプログラミングをする
僕の知り合いのプログラマーは業務委託でお願いしているプログラマーについて、以下のようにコメントをしていました。

「優秀なんだけどサービスやビジネスのことを全く理解していないから、プログラミングの内容がズレてるんだよね・・・」
プログラミング自体はできるのですが、その方針が微妙に今サービスとして目指している方向とズレているようで、「悪くないけど、良くもない」というアウトプットになってしまうようです。
せっかく技術力があるのに、サービスやビジネスの方針を理解していないために評価が低くなってしまっているのです。
「プログラミングのスキルはあるはずなのに、何故か他の人からよく指摘されるなぁ・・・」という場合、このケースが該当するかもしれません。
もし心当たりがある場合、
・サービスとして重要なポイントを理解しているか?
・今後の事業計画を理解しているか?
こういったことを再確認してみるとよいでしょう。
これらを理解するだけで、元々持っている技術力を活かすことができて、一気に年収アップにつながる可能性があります。
年収の高い業界や企業で働くこと
最後は身も蓋もない話ですが、年収を上げるためには、年収の高い業界や企業で働くのがよいです。
世の中は同じ仕事をしていても、所属する業界や企業によって年収レンジが異なります。
どんなにいい仕事をしても所属する業界や会社の平均年収が低いと、あなたの年収は低くなります。
一方、残念な仕事しかできなくても、所属する業界や会社の平均年収が高くなると、年収は上がります。
「年収を上げるためには、スキル以外にも、業界や企業選びも大事」ということを覚えておいてください。
プログラマーになり、最速で年収を上げるための方法

それでは最後に、プログラマーになって、最速で年収を上げるための方法を紹介します。

あなたがプログラマーとして働きたいのであれば、それを止めるものではありません。
プログラミングを勉强する
今後プログラマーとして働くにしてもプロジェクトマネージャーなどの職種として働くとしても、まずはプログラミングの知識を習得するようにしましょう。
何故なら、プログラマーでもプロジェクトマネージャーであっても携わるのはソフトウェアの開発であり、プログラミングの知識は全ての基本だからです。
そんな基本であるプログラミングのスキルなしに、いいプログラマーになれませんし、いいプロジェクトマネージャーにもなれません。

僕の周りには、プログラマー経験がないプロジェクトマネージャーはいます。
そういった人に対するエンジニアやプログラマーからの評判は、決していいものではありません。
「彼の言うことはいつも意味が分からない」という、かなり辛辣な評判です。
プロジェクトマネージャーとしてエンジニアやプログラマーの気持ちが分かるのって、非常に大事です。
また、プログラミングの学習をすることにより、プログラミングスキル以外にも、以下のようなソフトウェアを開発する上で必要となるスキルが身につきます。
・セキュリティ
・サーバやデプロイ
これらのスキルは、今後のあなたの協力な武器になります。

僕は、セキュリティやサーバ関連の知識が薄めです。
過去、メーカーでプログラマーとして働いていたときに、そういったところにあまり関与しなかったのが理由です。
これらの知識があまり無いことが、今、プロジェクトマネージャーとして働いている時にも苦手意識となっています。
ソフトウェアの設計やチームでの開発手法などを勉强する

続いて、ソフトウェアの設計や、チームでの開発手法を勉强しましょう。
ソフトウェアの設計の知識は、プログラミングの作業の前に、ソフトウェアの設計図を作る作業です。
プログラマーとして働く際も必要ですし、プロジェクトマネージャーとして働く際も、ソフトウェアの開発方針を理解するためにも重要な知識となります。
また、ソフトウェアは基本的に複数人数で行うことになります。
そんな複数人での開発において、プロジェクトマネージャーは複数人のプログラマーをリードする必要があります。
とはいえ、プログラミングならまだしも、ソフトウェアの設計やチームでの開発を一人で勉强するのは難しいのではないでしょうか?

その結果、社会人になりプログラマーとして働き始めた結果、非常に大変な思いをしました。
そこでオススメなのが、プログラミングスクールに通って必要な知識やスキルを一気に習得してしまう方法です。
プログラミングスクールには、ここで紹介したソフトウェアの設計やチーム開発などの経験をできるものがあります。
また、「プログラミングのスキルに自信がないな」と思う場合は、基本的なプログラミングスキルを教えてもらうこともできます。
僕がオススメのプログラミングスクールは、以下の記事にまとめているので、興味がある場合、こちらも読んでみてください。
僕のプログラマー経験を元にオススメのスクールを選んでいるので、どこもオススメができるものばかりです。
プログラマーとして数年働く
プログラミングを勉强した後は、実際にプログラマーとして働くのをオススメします。
プログラマーとして働いてみてそれが楽しければそのまま働き続けてもよいでしょう。
もしプログラマーとして働くのが楽しければ、別にプロジェクトマネージャーなどの上流工程の仕事に変更する必要はありません。

年収を上げるために、でなソフトウェアの設計やチームをリードできるようなプログラマーを目指すようにしましょう。
もしあなたが将来的にプロジェクトマネージャーなどの上流工程に携わりたい場合でも、まずはプログラマーとして働くことをオススメします。
プログラミングのスキルと同じで、プログラマーとして働いた経験や知識がないと、プロジェクトの管理をすることも難しいためです。
プログラマーとして働いた経験があれば、プログラマーの気持ちや大変さも理解できるようになります。
プロジェクトマネージャーなど、ソフトウェア開発の上流工程を担当する
最後のステップとして、プロジェクトマネージャーなどの仕事をするのがオススメです。
ここまでプログラミングを勉强して、プログラマーとしての経験を積んだ状態であれば、他のプログラマーの気持ちも分かるようになっているでしょう。
その強みを生かして、「ソフトウェア開発が分かるプロジェクトマネージャー」というだけで、他の人と差別化することができます。
特に今はプロジェクトマネージャー職はどの会社でも人手不足なので、うまく転職することができれば、大きく年収を上げることができるでしょう。
ちなみに、年収を上げるためのキャリアパスも、以下の記事にまとめています。
興味があれば、是非この記事も読んでみてくださいね。
[最後に]一番のオススメは、年収アップと楽しさを両立すること
![[最後に]一番のオススメは、年収アップと楽しさを両立すること](https://www.mame-blog.site/wp-content/uploads/2022/03/programmer-income-is-low09-1024x682.jpg)
この記事では、プログラマの年収が低い理由と、その年収を上げるための方法を解説しました。
ここまで読んでくださったあなたは、どのようなプログラマーになってはいけないのか?年収を上げるためにどのようなことをすればいいのか?が分かったのではないでしょうか?
もしあなたが「年収を上げたい!」と思っているのであれば、参考にしていただければと思います。
とはいえ、もし上流工程の仕事に興味がないのであれば、プログラマーとして働くのももちろんアリです。
年収ばかりを追い求めて、楽しくない仕事をするのは、あまり幸せではないですよね。
この記事を参考にしつつ、年収と楽しさの両立ができる仕事のやり方を見つけてくださいね。
この記事は以上です!
ここまで読んでくださり、ありがとうございました!
コメント