ITコラム

programmer displaying and representing

プログラマハック

2019.05.24

プログラマーの種類とその仕事内容・必要スキルを解説

突然ですが、あたなは、何のプログラマーになりたいですか?プログラマーには、様々な種類があります。今回は、開発現場における、プログラマーの種類とその仕事内容、必要スキルについて、プログラマーをこれから目指す初心者の方にも分かりやすく解説します。

最終更新日:2019年5月24日

目次

1.プログラマーの役割
2.プログラマーの種類と必要スキル
2-1.Webプログラマー
2-2.アプリプログラマー
2-3.ゲームプログラマー
2-4.組み込み系プログラマー
2-5.汎用系プログラマー
2-6.オープン系プログラマー
2-7.通信系プログラマー
3.まとめ

1.プログラマーの役割

システム開発には、開発フェーズと呼ばれる開発の手順があります。開発フェーズごとに「SE」、「プログラマー」とそれぞれ担当者がいます。「SE」と呼ばれるシステムエンジニアは、顧客からシステムの要望をヒヤリングし、システム全体から詳細な部分まで設計をして設計書を作成します。
プログラマーは、システムエンジニアが設計した設計書にそってパソコンでプログラミングをし、テストをする技術者です。対応するシステムによって「Webプログラマー」「通信系プログラマー」など、使用するプログラミング言語が細分化されます。また、開発には対応システムごとの開発環境があります。開発環境とは、システム開発に必要な「部品」の用意をして「開発する場所」を作ることです。プログラマーは自分で開発環境を構築し、開発します。プログラマーといっても、Web系やアプリケーション系、通信系など、それぞれの分野によって求められるスキルや役割が変わってきます。次章では、プログラマーの種類と必要スキルについてご紹介します。

【開発環境のイメージ】

現在は、IDE(総合開発環境)があり、テキストエディタ、コンパイラ、デバッガを1つにまとめたもので、Web開発では必須の総合開発環境となっています。

【システムを開発するための手順】

▲目次へ戻る

2.プログラマーの種類と必要スキル

2-1.Webプログラマー


Webプログラマーは、Webシステムを開発するプログラマーです。
私たちが普段、パソコン、スマートフォンから見ている、LINEやTwitterなどのSNS、ショッピングサイトなど多くのWebサイトやWEBツールがWebプログラマーのプログラミングによって作られています。Webサイトの画面のプログラムをするだけでなく、データベースとの連携が必要になってくる場合などは、MySQLなどの幅広い知識が必要になります。

【使用するプログラミング言語】
HTML,CSS,PHP,JavaScript,Ruby,Java,Linux,Apache,MySQL など

▲目次へ戻る

2-2.アプリプログラマー

アプリとは、スマートフォンやタブレットで利用できるソフトウェアのことです。
昨今、アプリは私たちの日常で身近なものとなりました。Instagramなどに代表されるSNSやゲーム、業務系など、その種類は様々です。アプリ開発のOSには、AndroidとiOS(iPhone)の2種類があります。アプリプログラマーは、ソフトウェアやハードウェア、ネットワークなどの幅広い知識が必要となります。また、アプリの目的や開発手法によってプログラミング言語が変わるため、複数言語の習得が必要となります。

【使用するプログラミング言語】
PHP,Ruby,Java,C,C#、Swift、Kotlin など

▲目次へ戻る

2-3.ゲームプログラマー

ゲームプログラマーはゲームを作る(プログラミングする)プログラマーです。
ゲームには、アプリやPCゲームなど様々な種類があります。
ゲームクリエイターやデザイナーがデザインした、キャラクターの動きやBGM・効果音のイメージ,シナリオ動画、メニュー画面の実装など、ゲームシステムの構築をゲームが意図したとおりに動くようにプログラミングしていきます。キャラクター、オブジェクトの動きの制御やグラフィクス描画など、他のシステムやアプリケーションとは、異なる設計・実装が求められるため、プログラマーとしての専門性はとても高くなります。また、最近はVRの人気が高く、求められるスキルは日々変化しています。

【使用するプログラミング言語】
JavaScript,Ruby,C#,C++,Swift,Unity など

▲目次へ戻る

2-4.組み込み系プログラマー

組み込み系プログラマーは、家電製品や電子機器の制御するプログラムを開発するプログラマーです。
例えば、エアコンで設定温度に調節する、お掃除ロボットがものを感知して動いたりする操作指示をするプログラムのことです。近年では、今までインターネットに繋がっていなかった機器をインターネットにつなぐ、IoT(Internet of Things)の発展により、スマートフォンなどを通して遠隔で家電製品をコントロールできるようになりました。スマートフォンの普及により、今後、さらに需要が期待されます。

【使用するプログラミング言語】
Java,C,C#、C++ など

▲目次へ戻る

2-5.汎用系プログラマー

汎用系プログラマーは、汎用機で動くシステムを開発するプログラマーです。
「汎用機」とは、パソコンでするいろいろな種類の情報処理作業を1つのコンピュータで行う手法です。
「汎用機」が開発する前は、行う処理ごとに、コンピュータを使い分けていました。「汎用機」の普及により、1つのコンピュータで数種類の情報処理に対応できるようになりました。
「汎用機」は、金融機関や会計システムなど大量データを扱う大規模なシステム開発に用いられています。

【使用するプログラミング言語】
Java,C,COBOL,PL/SQL など

▲目次へ戻る

2-6.オープン系プログラマー

オープン系とは、汎用系と逆の方法で構築されたシステムです。
オープン系システム開発とは、仕様が公開されているOS、ソフトウェアなどを自由に組み合わせてシステム構築することです。オープン系プログラマーは、複数のコンピュータで構築するシステムの開発を行います。
指定されたネットワーク内の複数のパソコンがアクセスするためのシステム開発をします。電子カルテ、店舗の顧客情報のデータベースなどオープン系システムで構築されています。汎用系と比較すると、システムを複数のパソコンで構築するため、こまめにアップデートができ、管理もしやすいという利点があります。

【開発するプログラミング言語】
PHP,JavaScript、Ruby、Java、C++、C#、Python など

▲目次へ戻る

2-7.通信系プログラマー

通信系プログラマーは、インターネットをするための機器である、ルーターやモデム、IP電話など通信に関連した製品を開発するプログラマーです。通信機器のデータ送受信に関するプログラミングが主な仕事となり、ネットワークに特化したプログラマーといえます。その他に、社内の給与システムなど、通信系プログラムで構築されています。近年、クラウドサービスの普及により、クラウドサービスのシステム開発における知経があるとよいでしょう。

【開発するプログラミング言語】
Java,C,C++ など

▲目次へ戻る

3.まとめ

プログラマーにもいくつか種類があり、求められるプログラミング言語スキルも異なります。
また、どの種類のプログラマーでも共通して次のようなスキルが求められます。

開発現場において、プログラマーは、プログラミングの楽しさを実感できる職種です。
今後、プログラマーとして現場で活躍をするうえで、「何のためにこのプログラミングをするのか」をつねに考え、自発的に新しい技術を吸収してみてください。

▲目次へ戻る

SHARE

ITコラムのおすすめ記事

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.