プログラマ(programmer)とは、コンピュータのプログラムを作成する人全般を指す。プログラマーとも表記される(#プログラマに対する呼称参照)。
目次
1 プログラマの仕事
1.1 他の職種との境界
2 歴史
2.1 歴史の始め
2.2 1940年代
2.3 1950年代
2.4 1960年、70年代
2.5 1980年代以降
3 文化
4 その他
4.1 苦労・残業
4.2 教育
4.3 請負形式
4.4 フリープログラマ
4.5 日本以外のプログラマ
4.6 プログラマ定年説
4.7 プログラマの三大美徳
4.8 プログラマに対する呼称
4.8.1 プログラマあるいはプログラマー
4.8.2 アマグラマあるいは日曜プログラマ
4.8.3 コーダー
4.9 プログラマとシステムエンジニア
5 関連項目
6 脚注
//
プログラミングは、論理的な思考や発想が要求される作業であり、ちょっとしたことでバグなどを生むことがあるため、緻密さと根気も要求される。
プログラムの作成にあたっては、実際にプログラムを記述するコーディング以外にも種々の作業が必要とされる。
また、プログラムを作成する能力は、プログラムの作成のみならずコンピューターを使いこなすためにも必要とされるので、プログラマに任される仕事は単にプログラムの作成だけではない。
以下に、プログラマの仕事としてみなされることの多い作業を挙げる。企業によっては、以下の作業を分担して行うこともあり、その場合は適した名前で呼ばれることが多い。
プログラムの作成
詳細設計
プログラム設計(モジュール設計)
コーディング
デバッグ
ソフトウェアテスト
パッケージング
プログラムの導入
配置(デプロイ、deploy)
設定(コンフィグ、configuration)
プログラムの利用
プログラムの分析
プログラムに関する文書の作成
ユーザマニュアルの作成
プログラム解説書の作成
日本の、特にソフトウェア受託開発業においては、しばしばプログラマという語はシステムエンジニア(SE)という職種との対比で用いられる。システムエンジニアがシステムの設計を行うのに対し、プログラマは設計に基づいて実装のみを行うという意味を含んでいる。
ただし、ソフトウェアの分野では、設計方式が確立されていないこともあって、設計が実装レベルの作業に委ねられていることも多い。そのため、一人の技術者がプログラマおよびシステムエンジニア双方の領域にまたがる作業を行うことも多く、その境界は曖昧になっている。結果としてプログラマは、システムエンジニアと同義と捉えられることがあり、どちらを名乗るかは、本人や所属企業の任意による面もある。
同様に、プログラマは、職務内容によってディベロッパー、ITエンジニア、ソフトウェアエンジニア、アーキテクト、ITアーキテクト、エンタープライズアーキテクトと呼ばれることや、そのような肩書きと同一視されることもある。
史上初のプログラマは、詩人バイロンの娘、 エイダ・ラブレス(ラブレース伯爵夫人オーガスタ・エイダ・キング・1815-1852)であるとされる。彼女はチャールズ・バベッジが作成した解析機関のオペレータであった。プログラミング言語Adaは、彼女の名前に因んで命名された。