ページ内移動リンク
職業について、内容、就労する方法、求められる知識・スキルや、どのような人が向いているかなどが総合的にわかるサイトです
システム開発において、システムエンジニア(SE)が作成した詳細設計に基づきプログラムを作成する。 システム開発の流れをみていくと、SEが顧客の要望をヒアリングし要件定義を行い、この要件定義に基づいて基本設計を行う。この基本設計を基に細部に至るまで処理方法を確定する詳細設計を行う。ここまでを上流工程と呼ぶ。 プログラマーは詳細設計に基づきコーディングし、プログラムを作成する。ここからを下流工程という。出来上がったプログラムを個々に動作させて確認を行う単体テスト、複数のプログラムを組み合わせて行う結合テスト、そしてシステムとしての動きを見る総合テストをSEとともに行い、バグを摘出する。バグが見つかればそれを解析の上、修正し(「デバッグ」)、システムが完成する。担当したプログラムが出来上ると、今後の保守に必要なドキュメント(開発したプログラムの説明、テスト結果等)を作成するのもプログラマーの仕事である。 基本的にはSEの仕事は上流工程と、下流工程のうちのテストと納品後のアフターケアであり、プログラマーの仕事は下流工程でのコーディング作業である。場合によっては、プログラマーが基本設計や詳細設計、また、プログラムのテストを行う場合もあり、SEがコーディングを行う場合もあるが、コーディングをしてプログラムを作成するのがプログラマーの主な仕事といえる。 プログラムには様々な種類がある。経理等各種業務用のソフトウェア、ショッピングサイトなどWeb用のプログラム、家電製品や電子機器などを制御するプログラム、PC向けソフトウェア、スマートフォン向けアプリ、ゲームのプログラム、さらに、通信やオンラインを制御するプログラム、また、大型汎用計算機のプログラムなど、様々である。開発言語や開発環境はそれぞれ異なり、得意とする分野も異なるが、プログラマーはこれらのソフトウェアを作成する。 また、今日、多くの情報システムが稼働しており、それら既存のプログラムを修正し、変化に対応したり、機能を追加する仕事をするプログラマーも多い。 ◇ よく使う道具、機材、情報技術等 OS(オペレーションシステム:Linux、Apache、MySQL)、デザインツール、HTML、プログラミング言語(C言語、JAVA、Python、Ruby等)、データベース(Access、SQL Server、MySQL、Oracle等)、パソコン
掲載している職業情報について(ご意見募集など)
特集:IT・通信の仕事
[ 動画 ]
グラフの目盛り
※厚生労働省が2023年度に実施した委託調査結果に基づき掲載(結果の概要はこちら)
入職にあたって、特に学歴や資格は必要とされない。専攻も特に問われず、最近は文系出身のプログラマーも多い。ただし、専門学校等でプログラミングを学んでいたり、必須ではないが、基本情報処理技術者等の資格持っていると入職時に有利になることもある。 新卒で入職、あるいは未経験で他の仕事から入職した場合、企業内で一定期間の教育を受けた後に、プログラマーとして配属される。配属後、半年から1年間程度、先輩プログラマーやSEなどの指導を受けながら、部分的なプログラムを担当したり等、プログラマーとしての経験を積んでゆく。一人前のプログラマーとして認められ、詳細設計書を自分で読み解き、時にはその中の誤りを指摘できるレベルになるには、3~4年かかるといわれる。 その後のキャリアパスとしては、プログラマーからチームリーダーになり、管理職になっていくというルートがある。それ以外にSEに転身してシステム設計に携わる人、また、知識と経験を活かして、営業になる人もいる。高い技能や専門性を持ったプログラマーも求められおり、プログラマーとしてのスキルを磨き、プログラミングのエキスパートとなる人も少なくない。 プログラマーになる資質としては、ITリテラシーがあり、情報セキュリティに対する意識が高いこと、SEとは違い、顧客に直接接することは少ないが、顧客の内部情報に触れることもあるため、個人情報の取扱い、コンプライアンスに注意を払うことが求められる。 使用するプログラミング言語は色々なものがある。WebサイトのプログラムではJava、PHP、Rubyなどの言語がよく使われる。ゲームのプログラムではC++、スマホのゲームではC#が多く使われる。AI(人工知能)の開発ではPythonなどが多く、汎用大型計算機では古くからあるコンピューター言語のCOBOLが使われている。 今日、Webサイトのためのプログラミングの仕事が多いが、このためにLAMP(ランプ)の知識、スキルがプログラマーにも求められる。LAMPとはサーバのOS(オペレーティングシステム)であるLinux、Webサイトを実現するApache、データベースのMySQL、プログラミング言語のPHP等の頭文字を短く表現したものである。
関連資格
この職業で実際に働いている人が多いと感じる『学歴』を表しています。必須とは限りませんので、詳細は「就業するには」を確認してください。
この職業で実際に働いている人が必要と考える入職前の訓練等の期間(学歴を除く)を表します。必須とは限りませんので、詳細は「就業するには」を確認してください。
この職業で実際に働いている人が必要と考える入職前の実務経験の期間を表します。必須とは限りませんので、詳細は「就業するには」を確認してください。
この職業に就いた後に、周囲から特別なサポートが無くても他の一般的な就業者と同じように働けるようになるまでに必要な期間を表します。あくまで一般論ですので、職歴等により差があります。
東京、大阪、名古屋を中心とする大都市とその周辺で就業することが多い。システム開発会社やWeb開発会社などのIT企業、また、製造業、金融・保険業、建設業などの企業や研究機関からプログラム作成を受託した会社で働くことが多い。 就業者は男性の割合が高く、20歳代後半から40歳代が多い。SEに比べると20歳代が多い。最近は全体として平均年齢が上昇している。 コンピューターがあればプログラム作成はできるが、セキュリティの観点からインターネットを遮断した環境下で開発をすることも多く、リモートオフィスのような働き方は少ない。顧客との守秘義務やトラブル対応の関係もあり、プログラム作成を受託した会社の正社員として働いていることが多い。 賃金、労働時間等労働条件は勤務先の規定によるが、開発期限が迫っていたり、開発に問題が生じたような場合は、休日や夜間に仕事をすることもある。 開発するシステムの規模は様々であり、小さいものは1人で作成したり、大きなものでは数百人のプログラマーがチームに分かれ、開発する場合もある。 Web画面の開発ではデザインツールから自動的にHTMLなどが作られ、プログラミングの必要がなくなっている。また、それまでに作られたプログラムがライブラリー、ツール、モジュール等として整備され、SEはプログラム作成をプログラマーに依頼することなく、既存のプログラムの組合わせでシステム開発がかなりの程度できるようになっている。 しかしながら、自動生成されたプログラムは整理されておらず、その後の修正や機能追加が難しい。プログラマーは効率的で整理された分りやすいプログラムを作成する、職人的な技を磨くことが期待されている。また、プログラミングのエキスパートとして、自動生成ではできないクリエイティブなプログラムを作成したり、データ管理やWebなど特定の分野に特化した専門性を持つことも重要である。プログラミングの技を磨き、スーパープログラマーや天才プログラマーと呼ばれ、活躍している人もいる。
プログラマーが属する主な職業分類(厚生労働省編職業分類の「プログラマー」等)に対応する統計情報です。
※「統計データ」は、必ずしもその職業のみの統計データを表しているものではありません。各統計データで使用されている職業分類の詳細については職業分類対応表をご覧ください。
※各統計データに関する留意事項についてはこちらをご覧ください。
※関連団体等が別途就業者数等を公表している場合は「労働条件の特徴」本文中に記載されていることがあります。
就業者統計データ
就業者数
(出典:令和2年国勢調査の結果を加工して作成)
労働時間
(出典:令和5年賃金構造基本統計調査の結果を加工して作成)
賃金(年収)
年齢
賃金分布(グラフ)※全国のみ
スキルレベル別給与データ(年収)
〈設計・構築〉
ITSSレベル1~2
ITSSレベル3
ITSSレベル4
ITSSレベル5以上
〈ソフトウェア開発スペシャリスト〉
※金額は第一四分位から第三四分位の範囲を表しています。
ハローワーク求人統計データ
求人賃金(月額)
(令和5年度)
有効求人倍率
この職業で実際に働いている人が多いと感じる『就業形態』を表しています。
プログラマーが属する産業(情報通信業)の産業別景況動向をグラフで見ることができます。(産業全体の景況動向はこちら)
グラフの数値が大きいほど、労働者が不足と判断している。
情報通信業のグラフを見る
グラフの数値が大きいほど、景気が上昇と予測している。
残業時間(時間外労働時間)や有給休暇取得率、平均年齢など、企業の様々な職場情報を検索・比較したい方はこちら(クリックすると別サイトのしょくばらぼへ移り、 プログラマーが属する産業(情報通信業)で検索ができます)
各数値の詳細解説ページはこちら
どのようなスキルがどの程度必要かを職業間で比較可能な形で表しています。前職や自分自身のスキルと比較することができます。
どのような分野の知識が重要であり、必要かを表しています。前職や自分自身の知識と比較し、不足する分野を特定することができます。
どのようなアビリティがどの程度必要かを職業間で比較可能な形で表しています。前職や自分自身のアビリティと比較することができます。
この職業に就いている人はどのようなことに興味がある人が多いかを表しています。自分の職業興味とあっているか、確認することができます。
この職業ではどのような点で満足感を得やすいかを表しています。あなたが重要だと思う価値観について満足感を得やすい職業かどうか確認することができます。
仕事の場所や対人業務の頻度などの、職場環境や仕事の内容などを表しています。