プログラマー
読み:プログラマー
外語:PG: programmer
プログラム
(算譜)を作譜・作成・記述する人間。及び、そのような職業のこと。末尾の音引きを略して「プログラマ」や、「
PG
」とも。
目次
歴史
仕事の特徴
必要技能
主要業務
分担
業態
残業
その他
特性
三大美徳
2n
歴史
世界初のプログラマーは、
Augusta Ada Lovelace
(オーガスタ・エイダ・ラヴレイス)とされている。
彼女は
Charles Babbage
(チャールズ・バベッジ)の設計した世界初の機械式自動計算機「解析機関」(Analysis Engine)のオペレーターとなり、これをもって今では世界初のプログラマーとされている。
プログラミング言語
の
Ada
は彼女の名にちなんでいるが、名前を拝借しただけで、彼女の時代には存在していない。本格的なプログラマーの登場は、電子計算機が誕生して以降である。
仕事の特徴
必要技能
プログラムを作ることを
プログラミング
という。
プログラミングという作業に従事するためには、
プログラミング言語
と呼ばれるものについての知識が最低限必要である。
作業は
パソコン
などを使うことになるので、
電子計算機
(電子計算機)を使いこなすだけの技術力が必要である。作業に必要なので、プログラマーには最低でも一人一台のパソコンが割り当てられるはずだが、その操作はもちろん、維持管理もプログラマー自身で行なわなければならない。
また、単に言語の知識があるだけでなく、論理的な思考力、発想力が求められる。更に、不具合(
バグ
)などに対処するための根気や、
デスマーチ
突入の際には数日満足に寝なくても死なないだけの体力が必要である。
つまり、プログラマーにはプログラミング以外にも様々な能力が求められている。
主要業務
プログラマーとして行なうことの多い作業としては、次のようなものがある。なお、実際の内容は企業により差が大きく、それぞれで役割分担が行なわれることも多い。
プログラムの作成(
プログラミング
)
設計
概要設計
詳細設計
モジュール設計(プログラム設計)
コーディング
リファクタリング
デバッグ
テスト
単体テスト
結合テスト
総合テスト(システムテスト)
受け入れテスト(運用テスト)
プログラムの導入(
インストール
)
配置(
デプロイ
)
設定(コンフィグ)
文書の作成(ドキュメンテーション)
プログラム仕様書の作成
ユーザーマニュアルの作成
分担
日本のソフトウェア産業では、プログラマー(PG)という表現が
システムエンジニア
(
SE
)との対比として用いられることがある。これは、システムエンジニアはシステムの設計を行なうのに対し、プログラマーはその設計に基づいて製造のみを行なう、という意味が込められている。
しかしながら、ソフトウェアの製造という分野は、必ずしも役割分担が明確化されてはいない。製造中に新たに沸いて出てきた新要求仕様に応じ、プログラマーが実際の設計以下を行なう、といったことも珍しいことではない。ゆえに、両者の境界は曖昧で、プログラマーとされる者でも、それなりの設計が出来る人も少なくない。
業態
プログラムを作るとしても、実際には様々な分野が存在している。
よく知られる範囲では次のようなものがあり、それぞれでは業務内容はもちろん、文化などまで違っている。
ファームウェアプログラマー
アプリケーションプログラマー
ネットワークプログラマー
データベースプログラマー
Webプログラマー
ゲームプログラマー
残業
プログラムの製造は、設計と計画性が重要である。しかし、
仕様変更
等で作業が大幅に変わることもあれば、全てが最初から崩壊している場合もある。このため、プログラマーはえてして長時間労働に晒されがちである。
国や企業により様々だと考えられるが、特に日本では残業や休日出勤の多い職種の一つとなっており、仕事は一般に過酷である。時に「
デスマーチ
」と呼ばれる過酷な状況に至り過労死や自殺にまで追い込まれることもあり、社会問題となっている。
このような状況で、更にサービス残業が当たり前のように存在する労働基準法違反はもちろん、時給換算では最低賃金法の賃金を満たさないなどの、極めて悪質なケースもあるようだ。特に派遣労働に、この傾向が見られるようである。
その他
特性
多くのプログラマーは、
一般人
からみて「違う」という印象を受けると言われている。
電子計算機は歴史や文化が浅いこともあり、その趣味を持った人間(
オタク
、
ギーク
)が多いことも手伝って、部外者から見ると奇妙な世界が構築されているように見えるのだと思われる。
冗談のようなことも大真面目に(?)行なうのも、このようなオタク文化の一つの現われであろう。
三大美徳
プログラマーは一般に
不精・短気・傲慢
が美徳とされる。これは、
Perl
などの作者
Larry Wall
の名言である。
不精なので、面倒なことをコンピューターにやらせるためにプログラムを書く。
短気なので、暇そうなコンピューターを見ると働かせたくなりプログラムを書く。
傲慢なので、完璧なプログラムを書く。
コンピューターによって支えられる現代の
文明
は、このような美徳を持った者たちによって作られ、下支えされているのである。
2
n
プログラマーは、10
n
よりも2
n
を好む傾向にある。
1000をキリが悪いと考え、1024を
キリがいい
と考える。
60000をキリが悪いと考え、65536をキリがいいと考える。
再検索