プログラマー
別名:コーダー(プログラミング)、コンピュータゲームプログラマー、ソフトウェアプログラマー、Webアプリケーションプログラマー、Webプログラマー
システム開発において、システムエンジニア(SE)が作成した詳細設計に基づきプログラムを作成する。
数字は職業分類のまとまりごとの値で、この職業だけの値ではありません。
仕事の内容
システム開発の流れをみていくと、SEが顧客の要望をヒアリングし要件定義を行い、この要件定義に基づいて基本設計を行う。この基本設計を基に細部に至るまで処理方法を確定する詳細設計を行う。
この詳細設計に基づきプログラマーがコーディングし、プログラムを作成する。また、プログラマーは出来上がったプログラムを個々に動作させて確認を行う単体テストを行う。複数のプログラムを組み合わせて行う結合テスト、そしてシステムとしての動きを見る総合テストをSEとともに行うこともある。バグが見つかればそれを解析の上、修正する(「デバッグ」)。担当したプログラムが出来上ると、今後の保守に必要なドキュメント(開発したプログラムの説明、テスト結果等)を作成するのもプログラマーの仕事である。基本的にはSEの仕事は基本設計や詳細設計と結合テストや受け入れテスト、また納品後のアフターケアであり、プログラマーはコーディングし、プログラムの単体テストを行い、担当したプログラムを完成させる。
アジャイル開発ではプロトタイピングを繰り返し、最初は荒い全体の開発、その中での個別機能の開発、さらにその中の開発という具合に、徐々に詳細な開発をプロトタイプとして行っていく。このプロトタイプ作成の中でプログラマーがソフトウェア作成を担当することもある。
プログラムには様々な種類がある。経理等各種業務用のソフトウェア、ショッピングサイトなどWeb用のプログラム、家電製品や電子機器などを制御するプログラム、PC向けソフトウェア、スマートフォン向けアプリ、ゲームのプログラム、さらに、通信やオンラインを制御するプログラム、また、大型汎用計算機のプログラムなど、様々である。開発言語や開発環境はそれぞれ異なり、プログラマーは得意とする分野のソフトウェアを作成する。
また、今日、多くの情報システムが稼働しており、それら既存のシステムを修正し、変化に対応したり、機能を追加する開発も多く、このような開発に関わるプログラマーもかなりいる。
開発するシステムの規模は様々であり、小さいものは1人で作成したり、大規模なシステムでは数百人のプログラマーがチームに分かれ、開発する場合もある。
Web画面の開発ではデザインツールから自動的にHTMLなどが作られ、プログラミングの必要がなくなっている。また、プログラムのツール、ライブラリー、モジュール等が整備され、SEがプログラム作成をプログラマーに依頼しなくても、システム開発がかなりの程度できるようになっている。
しかしながら、ツール等で作られたプログラムは整理されておらず、その後の修正や機能追加が難しい。プログラマーには効率的で整理された分りやすいプログラムを作成する、職人的な仕事が期待されている。また、プログラミングのエキスパートとして、ツール等ではできないクリエイティブなプログラムを作成したり、ブロックチェーン、AIなど特定分野に特化した専門性の高いプログラムを作る場合もある。
◇ よく使う道具、機材、情報技術等
OS(オペレーションシステム:Linux、CentOS、ubuntu)、統合開発環境、プログラミング言語(C言語、Java、Python、Ruby、HTML等)、デザインツール(Figma)、データベース(MySQL、Oracle、MongoDB等)、パソコン
働く場所・業界
システム開発会社やWeb開発会社などのIT企業、受託してプログラムを作成する会社など
なるには
- 入社時に必要な資格
- なし
- 仕事によって必要な資格
- —
- あると有利な資格
- 基本情報技術者
- 学歴(働いている人)
- 大卒(65%)/専門学校卒(25%)
なるまでの道すじを読む
入職にあたって、特に学歴や資格は必要とされない。専攻も特に問われず、最近は文系出身のプログラマーも多い。ただし、専門学校等でプログラミングを学んでいたり、必須ではないが、基本情報技術者等の資格を持っていると入職時に有利になる。
新卒で入職、あるいは未経験で他の仕事から入職した場合、企業内で一定期間の教育を受けた後に、プログラマーとして配属される。配属後、半年から1年間程度、先輩プログラマーやSEなどの指導を受けながら、部分的なプログラムを担当したり等、プログラマーとしての経験を積んでゆく。一人前のプログラマーとして認められ、詳細設計書を自分で読み解き、時にはその中の誤りを指摘できるレベルになるには、3~4年かかるといわれる。
その後のキャリアパスとしては、プログラマーからチームリーダーになり、管理職になっていくというルートがある。それ以外にSEに転身してシステム設計に携わる人、また、知識と経験を活かして、営業になる人もいる。高い技能や専門性を持ったプログラマーも求められおり、プログラマーとしてのスキルを磨き、プログラミングのエキスパートとなる人も少なくない。
プログラマーになる資質としては、ITリテラシーがあり、情報セキュリティに対する意識が高いこと、SEとは違い、顧客に直接接することは少ないが、顧客の内部情報に触れることもあるため、個人情報の取扱い、コンプライアンスに注意を払うことが求められる。
使用するプログラミング言語は色々なものがある。WebサイトのプログラムではJava、PHP、Rubyなどの言語が使われる。PCやスマホのゲームではC言語が多く用いられる。AI(人工知能)の開発ではPythonなどが多い。
今日、Webサイトのためのプログラミングの仕事が多いが、このためにサーバのOS(オペレーティングシステム)であるLinux、Webサイトを実現するApache、データベースのMySQL、Oracle、MongoDBなどの知識がプログラマーに求められることもある。
向いている人・求められる力
- ほかの仕事より高めに求められるスキル
- プログラミング/カスタマイズと開発/クオリティチェック/設置と設定/故障等の原因特定
- 興味のタイプ
- 研究的/現実的
- 大事にされる価値観
- 達成感/専門性/自己成長
- 雇用形態
- 正規の職員、従業員(53%)/自営、フリーランス(40%)
会社や求人を探す
- 業界の会社を探す
- 求人を探す
- ハローワークインターネットサービスで探す フリーワードに「プログラマー」、または職種で「プログラマー」を選ぶと見つけやすくなります。
- 関連団体
公的機関や業界団体が公開している一覧・検索への入口です。特定の会社をすすめるものではありません。
関連する仕事
求められるスキルや知識が近い仕事です。
本で調べる
「プログラマー」に関する本を探せます。
広告リンクです(このサイトの収益について)。