Column

コラム
2020.02.09 エンジニア/プログラマー

プログラマーの分類と制作システム、利用言 語を徹底解説

IT系の仕事というとまず思いつくのが「プログラマー」という職業の人ではないでしょうか。
主にシステム開発に携わる人の事を指しますが、どんな事をしているのか詳しくはあまり知られていない事がほとんどです。
今回はプログラマーの分類と制作システム、利用言語を徹底解説します!

この記事の目次
  • プログラマーは分野ごとに分ける事が出来る
  • Web系プログラマー
  • ゲーム系プログラマー
  • アプリ系プログラマー
  • パッケージソフト系プログラマー
  • 組み込み系プログラマー
  • 通信系プログラマー
  • オープン系プログラマー
  • 凡庸系システムプログラマー

プログラマーは分野ごとに分ける事が出来る

プログラマーというとシステム開発をしている人のことを想像しますが、それ以外はよく知らない、難しい仕事をしている人とだけ考えている人がほとんどでしょう。

 

実はプログラマーにもいくつか種類があり、その仕事や開発するシステムによっていくつか分類することが可能です。

 

自分の担当する分野以外はあまりよくわからないという人も珍しくは無いので、単にプログラマーといっても全く違う仕事をしていると考えて良いでしょう。

分類ごとに利用言語が異なる

プログラマーは分類できると述べましたが、その分類ごとに利用する言語も異なります。

 

プログラム言語は総数で言うと数百にのぼると言われており、そのうち約15種類ほどが多くのプログラマーによく利用されている言語です。

 

この15種類のうち1種類しか利用できないというプログラマーは少ないですが、逆に全てがわかるプログラマーも少ないと覚えておきましょう。

 

言語によっては1つ学習すると他の言語を習得しやすいというものもあるので、同じような言語を覚えているというプログラマーも少なくありません。

Web系プログラマー

担当 説明
クライアントサイド ユーザーが触れる部分
サーバーサイド サービスの裏側
フルスタック Web開発全般

Web系プログラマーは、主にWebサイトやWebシステムの開発を行っているプログラマーです。

 

このようにWeb系プログラマーの中でもどこの部分を担当するかで3つに分ける事が可能です。

 

システムの他にデザインやセキュリティ、データベース知識が求められるプログラマーです。

制作システム

● Webサイト
● ショッピングサイト
● SNS
● 宿泊、旅行の予約システム
● データ管理システム

 

 

Web系プログラマーは、名前の通りWebに関連するサービス全般を制作しているプログラマーです。

 

基本的に自分達がいつもWeb上で利用しているサービスは、ほとんどWeb系プログラマーが制作していると考えて良いでしょう。

利用言語

【クライアントサイド】
● HTML
● CSS
● Java
● Javascript
● PHP
● Ruby など

 

 

【サーバーサイド】
● Java
● PHP
● Ruby
● C++
● Perl
● Python
● Linux など

 

 

Web系プログラマーの中でも、クライアントサイドとサーバーサイドのどちらを担当するかで利用言語が異なります。

 

フルスタックはどちらも混合して知っておくとなお良いでしょう。

ゲーム系プログラマー

ゲーム系プログラマーは、ゲーム全般に関わってくるプログラマーを指します。

 

ゲーム制作に携わりたくてプログラムを始めるという人は非常に多く、さらに近年のゲームブームやスマホなどの流通により、非常に需要が高まっているプログラマーです。

 

ゲーム制作をすると言うといくつか大きな企業をイメージするという方が多いですが、個人で作られている有名ゲームなども多くあります。

 

個人で作られたゲームはクオリティに限らず、キャラの可愛さや中毒性、話題性によってヒットの仕方が変わるため、どちらかというと規格が大切になってくることもあるでしょう。

制作システム

● SNSゲーム
● スマホゲーム
● ブラウザゲーム
● コンシューマーゲーム
● PCゲーム

 

 

上記のようなゲームを制作しています。
依頼された仕様書や規格に基づいてゲームの制作を行うということが多く、1つのゲームをチームで作るという場合は、コミュニケーションを取る力も必要となってくるプログラマーです。

利用言語

● C++
● C#
● Unity
● JavaScript
● Swift
● Ruby

ゲーム系プログラマーの間では、特に「C++」や「C#」が必須条件となってくることがほとんどです。

 

習得がやや難しい言語ではありますが、非常に有用な言語なので、できれば習得しておくと良いでしょう。

アプリ系プログラマー

ゲーム同様需要が非常に高まっているのがアプリ系プログラマーです。

 

 

PCやスマホの普及した現在では、アプリ系のプログラマーが必要不可欠となっています。

 

アプリというとゲームを想像する人もいますが、ここでいうアプリはどちらかというとカメラやSNSなどの便利系アプリを想像してもらえると良いでしょう。

制作システム

● ネイティブアプリ(スマホやPC系のアプリ)
● Webアプリ
● システム管理ソフト(会計ソフトなど)

 

 

皆さんが個人で取り扱っているものも多くありますが、最も需要が高く大切とされているのが、企業などで利用するシステム管理ソフトなどです。

 

ソフトとアプリは厳密には別物ですが、基本的にはほぼ同義と考えて良いでしょう。

利用言語

● Java
● C#
● Python
● Ruby
● PHP
● Kotln
● Swift

 

 

利用言語はどういったOSのアプリを開発するのかでも異なってくるので注意しましょう。

 

Androidスマホでは主にKotlnやJavaを利用し、iOS端末では主にSwiftが利用されます。他の言語はWebアプリなどになるので、自分の開発したいジャンルで学習言語を分けましょう。

パッケージソフト系プログラマー

パッケージソフト系プログラマーは、アプリ系プログラマーにやや似ています。

 

主にPCにインストールして利用するソフトの制作が多く、個人というよりは企業に重宝されるシステムを制作しているプログラマーです。

制作システム

● 表計算ソフト
● ウイルスセキュリティソフト
● イラスト作成ソフト
● 写真編集ソフト
● 人材管理システム

 

 

こういった業務的に利用されるソフトを制作しているのがパッケージソフト系プログラマーです。
PCにインストールして利用するソフト制作が多いため、大規模なものであったり、容量が大きい制作物も多くなります。

利用言語

● C言語
● C++
● Java など

 

 

主に凡庸性の高い言語が必要になるのが特徴です。

 

中には専門性の高い言語を利用したソフトもありますが、その場合は大規模なものでは無く、繊細なソフトである可能性が高いでしょう。

組み込み系プログラマー

組み込み系プログラマーはさらに2つに分類ができ、「設備系プログラマー」や「製品系プログラマー」とも呼ばれたりします。

 

何かの枠組みや商品に組み込まれたシステムを作ることがほとんどで、電子機器には欠かせないプログラマーです。

制作システム

● 設備システム
● 制御システム
● 家電
● 電子機器 など

 

 

家電や電子機器は想像しやすいものが多く、例えば電子レンジの仕組みであったり、冷蔵庫の仕組みなどを開発しています。

 

設備や制御というのは主に企業のセキュリティ関連システムや、工場の制御システムの事を指します。このように、何かの枠組みの中に組み込まれたシステムを開発しています。

利用言語

● C言語
● C++
● C#
● Java
● Python

 

 

このように凡庸性の高いが習得難易度もやや高い印象にある言語を利用するのが組み込み系プログラマーです。

 

Pythonは主にセキュリティや制御関係のシステムを開発する際に利用されます。

通信系プログラマー

通信系プログラマーはその名の通り通信関係のシステムを開発しているプログラマーです。

 

ネットワークに特化している専門的なプログラマーではありますが、昨今の通信社会では需要が途切れる事がありません。

 

また、5G回線の普及と共に通信の改変などをする必要が出てくるので、今後も非常に有用なプログラマーと言えます。

制作システム

● WiFiルーター、モデム
● 通信システム
● テレビ会議システム
● 人事、給与システム

 

 

通信系プログラマーは基本的に通信機器やシステムの開発を行うことがほとんどですが、企業の人事・給与システムの作成など、幅広い開発を行っているのも特徴的です。

利用言語

● C
● C++
● Java

 

 

利用する言語としてはネットワーク関係に特化している分、そこまで多くありません。言語も絞られてきます。

 

しかし、利用する言語の難易度は決して低くは無いのでその点は注意しましょう。
また、通信に関して最新の情報をいち早く取り入れていく必要があるので、ある程度の対応力も求められます。

オープン系プログラマー

オープン系プログラマーは、昨今技術が進化し、高性能になってきているOSやソフトウェアを元に、それらを組み合わせて開発を進めるプログラマーです。

 

システムが常にOSやソフトウエアに対応するよう、コストを削減したり、アップデートを常に行えるようにしています。

 

複数のコンピューターを接続し開発を行うという特徴があり、場合によってはWebプログラマーと一緒に開発を行うこともあります。

制作システム

● 顧客管理データベース
● 電子カルテ など

 

 

主に顧客や個人のデータを管理するデータベース制作を行っています。

 

そのため、会員情報が必要な企業であったり、病院など患者の情報が必要となる場所で重宝されるシステムを作るプログラマーです。

利用言語

● Java
● JavaScript
● PHP
● Ruby
● Python
● C+
● C#

 

 

基本的にはJavaやPHPが主流ですが、最近ではRubyも多く利用されるようになりました。

 

他にもセキュリティが非常に大切になるのでPythonなどの言語が利用されることもあります。いずれにしても複数言語を利用できるプログラマーに需要がある分類です。

凡庸系システムプログラマー

凡庸系システムプログラマーはオープン系プログラマーと相反するプログラマーです。
高性能・集中処理・閉鎖的な「メインフレーム」と呼ばれる大型コンピューターを主に開発しています。

 

主に国の機関であったり、大型企業からの案件が多いプログラマーなため、責任感とやりがいが伴うのも特徴です。

制作システム

● 金融機関データベース
● 保険会社データベース
● 非公開システム

 

 

制作システムとしては非常に機密情報の多いシステムを開発することが多いでしょう。
また、データ量としても膨大なモノを開発することが多く、守秘義務が伴うことも少なくありません。

利用言語

● COBOL
● Java
● FORTAN
● RPG
● PL/SQL
● C言語

 

 

開発内容だけではなく、利用言語も特殊なものが多くあります。

 

「COBOL」という言語はほぼ必須と捉えておきましょう。COBOLは事務処理や会計処理に適した言語で、金融系のデーターべースに利用されることもあります。