プログラマーの年収は、公的統計で見ると全職種の平均より高い水準にあります。ただし、その数字をそのまま自分の相場として使うことはできません。統計の平均には新人からベテランまで、受託開発から社内SEまでが混ざっているからです。結論から言うと、プログラマーの年収を分けるのは書いてきた年数ではなく、コードを読み解く力と、自分の判断が影響する範囲の広さです。同じ経験10年以上でも、スキルの差だけで推定年収は大きく開きます。

この記事では、厚生労働省の統計で「プログラマー」に最も近い職種の数字を読み、そのうえで経験年数・企業タイプ・スキルを揃えた推定レンジで自分の位置を確かめる方法を扱います。プログラマーとSEを並べて違いを比べたい場合はプログラマーとSEの年収比較を、ほかの職種も含めた全体像は職種別のエンジニア年収を参照してください。ここではプログラマーという仕事そのものの年収に絞ります。

公的統計で見るプログラマーの年収

公的統計から読めるプログラマーの水準は、全職種の平均を上回っています。厚生労働省の令和7年賃金構造基本統計調査によると、ソフトウェア作成者の所定内給与額は 356.8千円/月 で、全産業・全職種の一般労働者の 340.6千円/月 より高くなっています。

ソフトウェア作成者の年収換算額(当サイト算出)

578万円

令和7年(2025年)/令和7年賃金構造基本統計調査 一般労働者 職種 第1表「職種(小分類)、性別きまって支給する現金給与額、所定内給与額及び年間賞与その他特別給与額(産業計)」

当サイト算出。きまって支給する現金給与額390.8千円×12+年間賞与その他特別給与額1,095.1千円=5,784.7千円を万円単位に四捨五入。入力値は第1表 男女計・企業規模計(10人以上)の「ソフトウェア作成者」の行(Excelの22行目)。6月分の月額を12倍した概算で、月ごとの残業代の増減や昇給、賞与の対象年(令和6年)のずれは反映していない。調査が公表した年収ではない

この換算額は、残業代を含む毎月の給与と、1年間の賞与を足して作った当サイトの概算です。毎月の給与にあたる「きまって支給する現金給与額」は 390.8千円/月、年間の賞与その他特別給与額は 110万円 でした。調査が把握しているのは6月分の月額なので、それを12倍して賞与を足しています。月ごとの残業の増減や、年の途中の昇給は反映されていません。

数字の背景にある人の姿も確かめておきます。ソフトウェア作成者の平均年齢は 37.1歳、平均勤続年数は 9.9年 で、労働者数は推計で 81.8万人 です。つまりこの平均は、若手からベテランまで大勢の人をまとめた値です。入社数年目の人がこの数字に届いていなくても、それだけで低いとは言えません。

注意したいのは、この統計が従業員10人以上の民営事業所で働く一般労働者を対象にしている点です。小さな会社や、フリーランスとして働くプログラマーは含まれていません。また、賞与は前年1年間の支給額なので、6月の月給と対象期間がずれています。水準をつかむ概算としては十分に使えますが、細かな金額の違いを比べるための数字ではありません。

「ソフトウェア作成者」に含まれる人・含まれない人

公的統計の数字を自分に当てはめる前に、その分類にどんな人が入っているかを知っておく必要があります。結論として、ソフトウェア作成者は「主にソフトウェアを作る人」の分類であり、職場での呼び名がSEでも、仕事の中心が開発であればこちらに入ります。

調査の職種解説では、ソフトウェア作成者にはプログラマー、テクニカルスペシャリスト、社内システムエンジニアなどが含まれるとされています。一方、システムコンサルタントやシステムアナリスト、情報処理プロジェクトマネージャのように、要件の整理や設計、プロジェクトの管理を主に担う人は「システムコンサルタント・設計者」という別の分類になります。職種は本人の肩書きではなく、事業所が回答する主な仕事の内容で分けられます。

具体例で考えると、SIerで「SE」と呼ばれていても、日々の仕事が詳細設計と実装とテストであれば、ソフトウェア作成者に近い位置づけです。反対に、事業会社の情報システム部門で社内SEとして働く人は、ベンダーとの調整が中心でもこの分類に含まれることがあります。社内SEの給与は、IT企業ではなく所属する会社の業種の給与体系で決まることが多いため、平均を引き上げる方向にも引き下げる方向にも働きます。

この分類の幅は、統計の弱点でもあります。「プログラマーの平均」として紹介される数字には、実装専任の人、技術の専門職、社内SEが混ざっています。自分の相場を知るには、平均値を眺めるより、次の章以降で扱う経験年数・企業タイプ・スキルの条件を揃えて比べるほうが確実です。

求人サイトの数字と公的統計がずれる理由

検索すると、プログラマーやITエンジニアの年収として、公的統計とは違う数字がいくつも出てきます。結論として、どれかが間違っているわけではなく、集計している人の集団と、金額の意味が違います。

たとえば、パーソルキャリアの転職サービスdodaの集計では、ITエンジニア(技術系IT/通信)の平均年収は 469万円(2025年) です。この集計の対象は、dodaのサービスに登録した20〜65歳の正社員です。転職を考えて登録した人の年収なので、在籍している人全体の平均とは集団が違います。また「技術系IT/通信」という広い区分の数字で、プログラマーだけの平均ではありません。

求人票に書かれた年収は、さらに性質が違います。求人の金額は採用時に提示する予定の幅で、上限は経験が厚く即戦力になる人を想定していることが多く、実際に入社した人の多くは下限寄りで決まります。また、採用を積極的に進めている会社ほど求人を多く出すため、求人サイトに並ぶ金額は、市場全体の平均ではなく「いま人を採りたい会社の提示額」に偏ります。

数字を比べるときは、それが在籍者の平均なのか、転職希望者の自己申告なのか、採用時の提示額なのかを最初に確かめてください。そのうえで、自分と同じ経験年数・企業タイプの条件で見るのが、いちばん判断を誤りにくい読み方です。

経験年数でどう伸びるか

プログラマーの年収は、経験年数とともに上がりますが、年数そのものが評価されているわけではありません。上場・大手、東京勤務、スキル中位の条件を揃え、経験年数だけを変えた推定は次のとおりです。

実務経験推定レンジレンジの図
未経験340〜399万円
1年未満383〜449万円
1〜2年425〜499万円
3〜5年531〜624万円
6〜9年638〜748万円
10年以上723〜848万円
条件:上場・大手/東京/スキルスコア50。公開統計をもとにした推定であり、実際の年収を保証するものではありません。算出方法

伸びが大きいのは、1〜2年から3〜5年、さらに6〜9年へ進む段階です。この時期のプログラマーは、指示された箇所を直す段階から、機能の単位で実装を任される段階へ移ります。担当範囲が目に見えて広がるため、評価も追いつきやすくなります。経験年数ごとの相場の詳しい読み方は経験年数別のエンジニア年収で扱っています。

一方で、6〜9年から10年以上への伸びは、それまでの段階より小さく置かれています。実際の職場でも、年数を重ねるほど人によって任される範囲の差が開き、年数だけでは水準を説明しにくくなります。この表は「年数とともに担当範囲が広がった場合」の水準であり、同じ仕事を同じ範囲で続けた場合に自動的に上の行へ進むことを意味しません。

なお、公的統計の平均は、年齢も経験も企業規模もばらばらな人をまとめた値です。この表のどの行に当たるかを決めることはできないので、統計の平均と表の数字を直接並べて「自分は平均より上か下か」を判断しないでください。

企業タイプ(SES・受託・自社開発)で変わる水準

同じ経験年数のプログラマーでも、所属する企業のタイプによって推定年収の出発点が変わります。実務3〜5年、東京勤務、スキル中位で、企業タイプだけを変えると次のようになります。

企業タイプ推定レンジレンジの図
メガベンチャー・外資604〜709万円
上場・大手531〜624万円
中小の受託・SIer459〜539万円
スタートアップ483〜567万円
SES411〜482万円
条件:3〜5年/東京/スキルスコア50。公開統計をもとにした推定であり、実際の年収を保証するものではありません。算出方法

差が生まれる理由は、プログラマーの仕事の成果がどこで売上になるかにあります。自社サービスを持つ会社では、実装の品質や開発の速さがそのまま事業の成果に効くため、良いコードを書く人の価値が給与に反映されやすくなります。受託開発では成果が納品物の単位で評価され、SESでは技術者の稼働時間が単価として売られます。商流の中で下に行くほど、同じ仕事をしても手元に残る額が小さくなる構造です(企業タイプ別のエンジニア年収相場)。

具体的には、SESで客先のコードを保守しているプログラマーと、自社開発の会社で同じ規模の機能を実装しているプログラマーでは、技術の水準が同じでも、会社が受け取る対価の形が違います。SESから自社開発へ移るときに選考で何が問われるかは、SESから自社開発への転職で詳しく扱っています。

ただし、この表を「自社開発に行けば上がる」と単純に読むのは早計です。自社開発でも、決まった仕様を実装するだけの役割なら、評価の伸びは受託と大きく変わりません。逆にSESや受託でも、設計から任される案件や、技術の判断を求められる現場は存在します。企業タイプは出発点を決める条件で、その中で任される範囲が次の差を生みます。

スキルで164万円差がつく

企業タイプと並んで年収を大きく動かすのが、コードを読み解く力です。当サイトの診断は、プログラマーの実力をコードの読解問題で直接測り、その結果をスキルスコアとして推定に反映しています。

実務10年以上、上場・大手、東京勤務という同じ条件でも、スキルスコアが下位の場合の推定中央値は 726万円、上位の場合は 890万円 で、164万円 の差があります。経験年数が同じでも、読む力によってこれだけ位置が変わるという想定です。

コードを読む力が年収に効くのは、プログラマーの仕事の多くが、既存のコードを理解したうえで変更することだからです。新しく書くより、他人が書いたコードの意図を読み取り、影響範囲を見極め、壊さずに直す場面のほうがずっと多くあります。不具合の原因を短時間で突き止められる人や、レビューで設計上の問題に気づける人は、チーム全体の開発の速さを支えるため、評価されやすくなります。

表の見方として面白いのは、スキル上位の実務6〜9年の推定中央値 785万円 が、スキル中位の実務10年以上と同じ水準になる点です。年数で追い越されても、読む力で取り戻せるということです。市場価値を決める力の全体像はスキルで年収は121万円変わるで整理しています。

注意点として、このスキル係数は当サイトの編集判断で置いた値で、統計的に裏づけられた差ではありません。実際の会社の評価制度では、読む力がそのまま給与に反映されるとは限らず、それを成果として見せられるかどうかが問われます。

実装だけの役割で年収が伸び悩む理由

プログラマーの年収が伸び悩む典型は、担当が「決められた仕様を実装する」範囲から広がらないまま年数が増える状態です。実装の仕事が劣っているわけではありません。問題は、同じ範囲の仕事を続けている限り、会社がその人に払える額の上限も変わりにくいことです。

公的統計にもその構造が表れています。要件の整理や設計を担う「システムコンサルタント・設計者」の年収換算額(当サイト算出)は 889万円 で、ソフトウェア作成者の 578万円 を上回ります。毎月の給与は 542.1千円/月、賞与は 239万円 です。ところが平均年齢は 38.3歳、平均勤続年数は 11.9年 で、ソフトウェア作成者とそれほど変わりません。年齢や勤続の差よりも、担う仕事の違いが給与の差として表れていると読めます。

現場で起きていることに置き換えると、実装の担当者は仕様の正しさや工期の判断に責任を持たず、その責任を持つ人の指示のもとで働く形になりがちです。責任の範囲が狭いと、どれだけ丁寧に実装しても、評価は「期待どおりに作った」で止まります。年数だけが増えて年収が止まる型については、経験年数だけ増えて年収が止まる4つの型で詳しく扱っています。

ただし、この比較は「設計者になれば上がる」という意味ではありません。システムコンサルタント・設計者の分類にはプロジェクトの管理者やコンサルタントも含まれており、実装から上流に移った人だけの数字ではありません。また、ソフトウェア作成者の中にも、高度な専門職として高い給与を得る人がいます。抜け出す道は上流に移ることだけではなく、次の3つがあります。

抜け出す道1:設計・技術リードへ広げる

1つ目は、実装を続けながら、設計と技術の判断に責任を持つ道です。管理職にならず、プログラマーとしての軸を保ったまま年収を上げたい人にとって、最も自然な広げ方です。

評価が上がる理由は、設計の判断が自分のコードだけでなく、チーム全体の開発の速さと品質を左右するからです。どのような構造にすれば変更に強いか、どの技術を選びどれを選ばないか、といった判断を担う人は、その判断が外れたときの責任も負います。会社は、その責任に対して払います。テックリードとマネージャーのどちらへ進むかの考え方はテックリードとマネージャーの比較で扱っています。

具体例として、機能の実装を担当していたプログラマーが、新しい機能の設計案を2つ作り、それぞれの利点と弱点を書いてチームで決めた経験は、肩書きが変わる前から実績として説明できます。選ばなかった案とその理由まで記録しておくと、選考でも判断の深さが伝わります。技術選定やアーキテクチャの責任が年収にどう効くかは技術選定・アーキテクチャ責任と年収を参照してください。

注意点は、設計の判断を担う機会が、会社の規模や体制によって限られることです。設計を別の部署やベンダーが持つ現場では、機会そのものが回ってきません。その場合は、レビューで設計上の問題を指摘する、小さな改修の設計を自分から書く、といった範囲から始めるのが現実的です。

抜け出す道2:専門領域を持つ

2つ目は、特定の技術領域で、ほかの人では代わりにくい専門性を持つ道です。設計やマネジメントへの広がりとは違い、深さで評価を得る方向です。

専門領域が年収に効くのは、その領域の問題を解ける人が少なく、問題が起きたときの影響が大きいからです。性能の改善、セキュリティ、データ基盤、開発基盤の整備などは、どれも事業の継続や開発全体の効率に直結します。こうした領域では、問題を解決できる人への依存度が高く、会社にとって手放しにくい人材になります。

具体例として、応答の遅い画面の原因をデータベースの問い合わせの設計まで遡って突き止め、改善した経験を何度も積んだプログラマーは、「性能の問題を任せられる人」として認識されます。最初は担当の範囲内で起きた問題を深く掘るだけですが、それを繰り返すうちに、ほかのチームからも相談される立場になります。

注意したいのは、専門領域の選び方です。流行している技術名を追いかけるより、いまの職場で実際に困っている問題から始めるほうが、実績として説明できる形になります。また専門性は、それが必要とされる会社でなければ評価されにくいため、転職先の事業と自分の専門が合っているかの確認も欠かせません。

抜け出す道3:上流工程・PMへ進む

3つ目は、要件定義や基本設計、プロジェクトの管理へと担当を移していく道です。公的統計でいえば、システムコンサルタント・設計者の分類に近づく方向です。

この道で評価が上がるのは、仕様を決める段階や、予算と工期の判断に責任を持つからです。何を作るかを決める仕事は、作り方を決める仕事より手戻りの影響が大きく、関わる人も多くなります。顧客や事業部門と合意を作れる人は、技術と事業の両方の言葉を話せる人として扱われます。SEの仕事と年収の全体像はシステムエンジニアの年収相場で扱っています。

具体例として、実装中に仕様のあいまいな点を見つけたとき、質問を投げるだけでなく、考えられる解釈を並べて推奨案を添えて確認する習慣は、上流工程への入り口になります。小さな仕様確認を自分で回せるようになると、要件の整理を任される機会が増えていきます。プログラマーからSEへ進む具体的な段階はプログラマーとSEの年収比較でも整理しています。

この道の注意点は、コードから離れる時間が長くなると、技術の判断の質が落ちやすいことです。上流に移っても技術的な裏づけのある判断ができる人は評価が高く、そうでない人は調整役にとどまります。上流に進むかどうかは、コードを書くことと、人と合意を作ることのどちらに自分が力を発揮しやすいかで選んでください。

3つの道の比べ方

3つの道は、どれが上というものではなく、広げる方向が違います。自分に合う道を選ぶために、それぞれの違いを並べます。

道 責任を持つ範囲 評価される成果 向いている人
設計・技術リード チームの設計と技術の判断 開発の速さと品質の改善 コードに関わり続けたい人
専門領域 特定の技術領域の問題解決 難しい問題の解決と再発防止 一つの問題を深く掘るのが好きな人
上流工程・PM 仕様、予算、工期の判断 合意の形成とプロジェクトの成功 人との調整に力を発揮できる人

この表は、どれか一つを選べば他を捨てるという意味ではありません。実際には、設計を担いながら一つの専門領域を持つ人や、上流工程を担いながら技術の判断も手放さない人が、高い評価を得ています。最初の一歩としては、いまの職場で最も機会を得やすい方向から始めるのが現実的です。

注意点として、どの道も「担当を広げたい」と言うだけでは進みません。上の段階の仕事を、小さな範囲で先に引き受けて実績を作ることが、肩書きや等級が変わるより前に必要になります。

言語選びは思ったより効かない

「年収を上げるにはどの言語を学ぶべきか」という疑問は多く聞かれますが、言語の選択は、企業タイプや担当範囲に比べると弱い要因です。言語そのものに値段がついているわけではないからです。

言語ごとの年収の差として見えるものの多くは、その言語がよく使われる企業タイプや業務領域の違いから来ています。たとえばJavaは業務系のシステムでも自社サービスでも使われ、同じ言語でも所属する会社のタイプによって水準が大きく違います(Javaエンジニアの年収相場)。Pythonも、データ分析、機械学習、Webのサーバー開発、業務の自動化と用途が分かれ、用途によって評価の軸が違います(Pythonエンジニアの年収相場)。

JavaScriptのように画面の開発で広く使われる言語では、書ける人が多いぶん、言語の経験だけでは差がつきにくくなります。差がつくのは、非同期処理や状態の管理を設計できるか、性能の問題を解決できるかといった、言語の上に積む実務です(JavaScriptエンジニアの年収相場)。

言語を変えることに意味がないわけではありません。行きたい企業タイプや業務領域で使われている言語を身につけるのは、転職の入り口として有効です。ただし、それは言語の価値ではなく、入り口の問題です。新しい言語を足すより、いま使っている言語でコードを深く読み、設計の判断ができるようになるほうが、年収には直接効きます。

数字を読むときの注意点

この記事で使った数字には、それぞれ限界があります。公的統計の年収換算額は、6月分の月給を12倍して前年の賞与を足した当サイトの概算で、調査が公表した年収ではありません。分類にはプログラマー以外の人も含まれ、従業員10人以上の事業所の一般労働者だけが対象です。

経験年数・企業タイプ・スキル別の推定は、公開統計を重心にした当サイトのモデルによるもので、企業タイプやスキルの係数は編集判断で置いた値です。個別の会社の提示額や、実際に受け取れる年収を保証するものではありません。また、勤務地によっても推定は変わり、この記事では東京勤務の条件で示しています。

もう一つの注意点は、同じ「プログラマー」でも、会社によって任される範囲がまったく違うことです。設計から運用までを一人で担う会社もあれば、実装だけを切り出して担当する会社もあります。数字を比べる前に、自分の担当範囲がどこまでかを言葉にしておくと、相場の読み違いが減ります。

自分の相場を確かめる手順

統計と推定の数字を自分に当てはめるには、次の順で確認すると迷いません。

  1. 自分の実務経験年数と、所属する企業のタイプ、勤務地を確認する
  2. 同じ条件の推定レンジを表で見て、現在の年収がどの位置にあるかを把握する
  3. いまの担当が、実装だけか、設計や技術の判断まで含むかを書き出す
  4. 3つの道のうち、いまの職場で機会を得やすい方向を一つ選ぶ
  5. その方向の仕事を小さな範囲で引き受け、実績として説明できる形にする
  6. 診断でコードを読む力を測り、スキルによる推定の差を確かめる

この手順で大事なのは、2と3を組み合わせて読むことです。推定レンジより年収が低く、担当範囲も狭い場合は、まず範囲を広げることが先になります。推定レンジより低いのに担当範囲が広い場合は、企業タイプや給与体系の問題である可能性が高く、転職を含めた比較の材料になります。

まとめ

  • 公的統計でプログラマーに最も近いのは「ソフトウェア作成者」で、社内SEも含む幅の広い分類
  • 求人サイトや転職サービスの数字は、集計の対象と金額の意味が違うため、統計と直接比べない
  • 同じ実務10年以上・上場大手・東京でも、コードを読む力の差で推定中央値に164万円の差がある
  • 実装だけの役割で年収が止まったら、設計・技術リード、専門領域、上流工程の3つの方向で範囲を広げる
  • 言語の選択は企業タイプや担当範囲より弱い要因で、言語の上に積む実務が評価を分ける

自分の条件でのレンジは、経験年数・企業タイプ・勤務地を入れ、コードの読解問題でスキルを測る診断で確認できます。