DIVE INTO CODE

2019年09月28日

プログラマーの7つの職種と違いについて詳しく解説します!

Aws4 request&x amz signedheaders=host&x amz signature=be85b395a382900394e168bdc286a3390f924353f1beb21ce013aed868520d3e

「プログラマーになりたい」という興味を抱いて検索してみると、とても多くの職種があることに気づく方も多いと思います。プログラミングを使ってどのような作業をするのか、どのようなシステムを開発するのか、あるいはどのような職場で働くのか?今回は、プログラマーの7つの職種と違いについて詳しく解説していきます。

【こんな方におすすめ】
・プログラマーという仕事に興味がある方
・プログラマーへの転職を検討している方
・プログラミングを勉強しており、今後プログラマーとして転職する予定の方

【目次】
1.プログラマーの7つの職種とは
 1-1.「Webオープン系」のプログラマー
 1-2.「モバイル系」のプログラマー
 1-3.「汎用系」のプログラマー
 1-4.「制御・組み込み系」のプログラマー
 1-5.「パッケージソフト・ミドルウェアの開発」のプログラマー
 1-6.「社内情報システムエンジニア」
 1-7.「データサイエンティスト」
2.まとめ

■話し手
DIVE INTO CODE 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

プログラマーの7つの職種とは

今回は、プログラマーの職種について解説していただきます。私からしたら「プログラマー」は「パソコンと向き合って作業している人」というイメージなのですが、実際にはいろいろな職種があるとお聞きしています。それについて詳しく聞かせてください。

分かりました。今回は、求人情報サイト等での分類のされ方を元に、7つの職種について解説していきましょう。

お願いします。

まず、プログラマーの7つの職種とは、次のとおりです。
1.「Webオープン系」のシステム開発のプログラマー
2.「モバイル系」のシステム開発のプログラマー
3.「汎用系」のシステム開発のプログラマー
4.「制御・組み込み系」のプログラマー
5.「パッケージソフト・ミドルウェア開発」のプログラマー
6.「社内情報システムエンジニア」と呼ばれている社内のプログラマー
7.「データサイエンティスト」

なるほど…名前を聞いただけでは、まだ違いがよくわかりません…。それぞれ詳しく教えてください!

1-1. 「Webオープン系」のプログラマー

まず「Webオープン系」は、ゼロからイチを生み出すようなプログラマーです。今流行っている「比較的自由に働けて、Tシャツなどを着てリモートワークしている」というイメージのプログラマーは、この「Webオープン系」です。

なるほど。

「Webオープン系」は、お客様から受託して開発する仕事と、自社のWebサービスを開発する仕事との2つに大別できます。

1-2.「モバイル系」のプログラマー

「モバイル系」は、携帯電話やスマートフォン専用のサイトなどを開発する仕事です。かつてWebサイトはパソコン用と携帯電話用とで別々のサイトが作られており、携帯電話用のWebサイト開発は専門の仕事だった訳です。今は、パソコン用と携帯電話用とで同じWebサイトに統合していることが多くなりましたから、スマートフォンアプリとの連携などの仕事へと移行してきていますね。

「モバイル系」については仕事の内容が変わってきているんですね。

1-3.「汎用系」のプログラマー

「汎用系」というのは、企業等が社内で運用している「汎用機」のメンテナンス等を行う仕事です。汎用とは、情報システムや会計システム、経理システム、あるいは人事システムなどの、企業の基幹業務に用いられる専用の機械のことです。長く続いている企業などでは、新しいシステムを入れずに同じ汎用機を使い続けているところもあるのですが、定期的なメンテナンスが必要です。そういった需要に対応する仕事ですね。

「システムがちゃんと動くようにメンテナンスする」というのが作業のメインということですか?

そうです。例えば、汎用機と連携している他のシステムが新しくなったりもするので、それらとちゃんと連携できるように改修や修正を行なったりもします。

そういった作業もあるんですね。

1-4.「制御・組み込み系」のプログラマー

続いて「制御・組み込み系」とは、ハードウェアの中にプログラムを組み込んでいく仕事です。例えば工場の生産ラインや、あるいは道路の信号などの設備や機械は、あらかじめ「こういった動きをする」というプログラミングがされており、これを「制御」と言います。皆さんの身近なところでは、オートマティックの自動車も「制御」のシステムですね。「制御・組み込み系」の特徴は、ひとたび製品や商品をリリースしたら「簡単には替えが効かない」という点です。例えば信号機も、設置後にもし不具合があったら大変なことになりますよね。ですから「制御・組み込み系」の仕事には緻密さと正確性、そして何より耐久力が重要です。

プログラミングが物理的なマシンの動作になって表れるというのが、他の職種とは少し違うおもしろさですね。

まさに「ロボットコンテスト」の世界ですね。

1-5.「パッケージソフト・ミドルウェア開発」のプログラマー

続いて「パッケージソフト・ミドルウェア開発」。これは、自社でソフトを開発して製品として売り出す会社のプログラマーです。パッケージソフトというと、例えば会計ソフトや人事給与ソフト、経理ソフト、あとは顧客管理ソフトなどがあります。

いろいろなソフトがありますよね。

個人向けに売っているものもあれば、法人向けのものもあります。
特に法人向けの場合には、数千万円から数億円の規模になるようなソフトもあり、それを多くのプログラマーで分担して開発しています。「パッケージソフト・ミドルウェアの開発」で大事なのは、網羅性です。ひとつソフトを納品すれば、それが会社の仕事を全部システム化してくれるかどうかが重要、という訳です。ですから「会社の基盤を作る」あるいは「パッケージソフトの理想を追求する」といった部分でおもしろさがあります。

「自分が関わっているソフトが世の中に広まっていく」という感覚はすごくおもしろそうですよね。

いろいろな職種のお客様とコミュニケーションできるので、その職種のマニアックな話が聴けるというおもしろさもありますね。

1-6.「社内情報システムエンジニア」

次は「社内情報システムエンジニア」。いわゆる社内SEですね。
小さな会社にはあまりないですが、会社規模が100人くらいになると、情報システムを扱う部署があり、社内SEが活躍してします。こういった部署では、「会社のパソコン持ち出し禁止」などのルール策定や、あるいは業務用ソフトの導入などを行なっています。たまに自分たちでツールやシステムを開発することもありますが、どちらかというと社内のIT環境に関する総務的な役割になることが多いです。業務用ソフトの導入に際しては、先程お話したようなソフトを開発している会社とやりとりして比較検討したり、発注や納品なども担当します。

自前で開発をしなくとも、特に業務用ソフトなどを選ぶ際には、専門の知識を持つ人が必要ということですね。

そうです。ソフト開発会社などとコミュニケーションをとるには、プログラミングに通じていた方が良いんです。なぜなら、自社に導入する際に工数を予測できたり、技術的に難しいことなどを判別できたりしますから。

プログラミングの知識を持っていたり、プログラマーとしてやっていた人がそういった仕事に転職する、というイメージでしょうか。

そういったこともあると思います。

1-7.「データサイエンティスト」

最後に「データサイエンティスト」。これは、厳密にはプログラマーという職種ではないのですが、社内にある大量のデータを分析して、そこから知見を見出して、ビジネスに活かせるアイデアを考える人です。データを加工したり予測をしてみたりなどのスキルが必要であり、そういった作業の際にPythonなどを使ったりすることもあります。

データを活用する上でプログラミングのスキルを利用する、ということですね。

そうです。職種の範囲が広いので、会社によってはデータサイエンティストといってもデータの加工だけをしていることもあります。データサイエンティストという職種の最高峰は、データ分析もできて、システムも開発できて、Pythonも扱えて、さらにはビジネスの視点も備えているような人です。そういったデータサイエンティストは、伝説上の生き物である「ユニコーン」と呼ばれたりするほど貴重な人材とされています。以上が、プログラマーの7つの職種の違いです。

今回お話いただいた7つの職種は、イメージしていたよりもそれぞれかなり違いがありました。

そうです、プログラミングの職種には、実は結構違いがあるんです。いろいろな角度からプログラミングに関わることができ、それぞれに違った楽しさやおもしろさがある、という訳です。

ひとつの職種だけに留まるのではなく、他の職種にチャレンジしてみるというキャリアプランもおもしろそうですね。

まとめ

・「Webオープン系」は、ゼロからイチを生み出すようなプログラマー
・「モバイル系」は、スマートフォン専用サイト開発やスマホアプリとの連携などを行うプログラマー
・「汎用系」は、企業等が社内で運用している「汎用機」のメンテナンス等を行うプログラマー
・「制御・組み込み系」は、設備や機械の制御システムを開発するプログラマー
・「パッケージソフト・ミドルウェア開発」は、自社でシステムを開発して製品として売り出す会社のプログラマー
・「社内情報システムエンジニア」は、社内の社内のIT環境に関する総務的な役割をするプログラマー
・「データサイエンティスト」は、社内にあるデータを分析して、そこから知見を見出して、ビジネスに活かせるアイデアを考える人

一言で「プログラマー」といっても、実際にはさまざまな環境で多様な仕事に従事している職業であり、それぞれの職種に違ったおもしろさがあります。ですが、プログラミングという根幹は共通していますから、ひとつの職種だけではなくさまざまな職種にチャレンジすることもできるのが、プログラマーの醍醐味でもあります。まずはひとつでも興味のある職種があれば、積極的にトライしてみてください。

DIVE INTO CODEの公式HPこちら

DIVE INTO CODEの無料カウンセリング予約こちら

DIVE INTO CODEのことをもっと知ってみませんか?