プログラマーとシステムエンジニアの違い【台本作る人と現場監督】

書いた人:TATSUO IYAMA

TATSUO Microsoft、KDDIのコールセンター(表彰歴)、ニフティクラウドやAndroidアプリの開発などIT歴20年。歌手はいだしょうこさんを絶賛。

ダークソウル3レベル1縛りカンスト周回クリア


 

「プログラマーとシステムエンジニアの違いってなに?」

「わたしはどっちを目指せばいいの?」

「そもそもプログラマーとシステムエンジニアって違うの?」

 

プログラマーとシステムエンジニアは異なります。

この記事ではそれぞれの特徴をまとめました。

IT用語のプラットフォームは「舞台」を意味する

日常生活の中で、あるいはプログラマーを目指すときに

「プラットフォーム」

という言葉を聞いたことはありませんか。

IT用語としてのプラットフォームはソフトウェアが動作するための土台を指す。

(中略)

プラットフォームの語源
プラットフォームは、「台」「壇」「舞台」「乗降場」などの意味を持つ

出典:weblio辞書

そう。ソフトウェアが動作する舞台をイメージして「プラットフォーム」と呼ばれているのです。

ですからプログラマーとシステムエンジニアの違いは舞台を例にして説明がつきます。

プログラマーは台本を書く人(脚本家)

システムエンジニアから指示されたテーマと構成をもとに台本(プログラム)をつくるのがプログラマー(PG)。

プログラミングさえしていればいいのでシステムエンジニアにくらべて仕事の種類は少ないです。

シロ
シロ
量は多いですけどね

認識の違いは致命傷になり得ますからコミュニケーション能力は大切ですが、システムエンジニアよりは人と話す機会が少なめ。

あれこれやったり人とのコミュニケーションをするよりはガシガシとプログラミングをしていた方が性に合っている人向けです。

やることが決まっている反面、システムエンジニアより給料が低い傾向にあります。

プログラマーに向いている人

  • ものづくりが一番好き!という職人気質の人
  • しゃべるより作業してたほうがいい
  • あんまり人間に興味がない
  • しずかなところが好き

システムエンジニアは現場を指揮する人(現場監督)

依頼主と打ち合わせをしてテーマや人員配置、設計などを決めるのがシステムエンジニア(SE)です。

現場全体と深い関わりがあるのが特徴。

複数のプログラマーがつくったプログラム同士を結合させたり、システム全体のテストをしたりします。

「どのような試験をするか?」

を決める試験項目表を作るのもシステムエンジニアの仕事。

あらゆる入力値や使いかた、動作環境を想定して作らなければなりません。

試験項目表に不足があるとのちのちバグが残るリスクが高まりますから重要な仕事です。

正常な使いかたはもちろん、異常な使いかたも想定しなければなりません。

たとえば右クリックと左クリックの区別もつかないようなおじいちゃん、おばあちゃんなども想定します。

いわゆる「フールプルーフ」ってやつだね
タマ
タマ

フールプルーフの想定例

  • いきなり電源切っちゃった
  • 送信ボタン連打しちゃった
  • 左クリックのところを右クリックしちゃった
  • 左クリックを押したまま離さなかった
  • なんか迷ったらESCキーを押すクセがある
  • 入力を間違えたらウィンドウを閉じて開き直しちゃう

など、さまざまな使われ方を想定する必要があります。

また、もしプログラムの一部を変更したらほかのプログラムに影響がないかをテストしなければならないので大変です。

シロ
シロ
レグレッション(退行)テストと言います

システムエンジニアは依頼主の意図を正確にくみ取り、現場全体をコントロールするコミュニケーション能力と調整力が問われます。

幅広いスキルが求められるためプログラマーより給料が高い傾向に。立場も上に見られますね。

ちなみに会社の規模が小さかったりするとプログラマーを兼任するケースもあります。

システムエンジニアに向いている人

  • コミュニケーション能力に自信がある
  • 幅広くITの知識を身に着けたい
  • リーダーシップを発揮したい
  • より高い給料がほしい