‘SE’ ‘left’ ‘プログラマーといってもいろんな種類のプログラマーの方がいますよね?’]
‘PM’ ‘right’ ‘はい。では実際にどういった種類があるのか、見ていきましょう。’]
この記事の目次
- プログラマーってどんな職業?
- プログラマーの14種類とは?
- プログラマーの種類1:Web系プログラマー
- プログラマーの種類2:PC系システムプログラマー
- プログラマーの種類3:スマホ系システムプログラマー
- プログラマーの種類4:ゲーム系プログラマー
- プログラマーの種類5:アプリ系プログラマー
- プログラマーの種類6:パッケージソフト系プログラマー
- プログラマーの種類7:設備系プログラマー
- プログラマーの種類8:製品系プログラマー
- プログラマーの種類9:業務系プログラマー
- プログラマーの種類10:金融系プログラマー
- プログラマーの種類11:通信系プログラマー
- プログラマーの種類12:オープン系プログラマー
- プログラマーの種類13:汎用系システムプログラマー
- プログラマーの種類14:セキュリティ系プログラマー
- プログラマーに必要とされるスキル6つ
- プログラマーになるには?
- プログラマーに必要な7種類の開発言語を紹介!
- プログラマーの種類に合った言語の習得やスキルを身につけよう
プログラマーってどんな職業?
プログラマーはプログラミング言語を使って文章を書き、コンピューターに理解できるコードにして、さまざまなアプリケーションを作成します。
プログラミング言語を用いて、多様なアプリケーションを作成するエンジニアの総称と考えておけばいいでしょう。
プログラマーの14種類とは?
ここでは、プログラマーの種類を紹介します。
すべての種類が独立しているわけではなく、同じ開発環境やプログラミング言語を使えるプログラマーの種類もあれば、開発言語を習得し直さないと携われない種類もあります。
ITエンジニアの仕事に就きたいのなら、なるべく多くの開発に対応できるプログラミング言語や構築手法を習得しておくべきです。紹介するプログラマーの種類を参考に、習得すべきスキルを考えてみましょう。
プログラマーの種類1:Web系プログラマー
プログラマーの種類2つ目のWebプログラマーは、Webサイトやショッピングサイト、TwitterやInstagram、旅行やホテルの予約システムなどのプログラムを作ります。
Webプログラマーはクライアントサイド(ユーザーが直接触れる部分を担当)・サーバーサイド(サービスの裏側を担当)とさらに2つの種類があります。
WebプログラマーはHTMLやCSS、JavaScriptの他に、PHP、Perl、Java、Rubyなどのプログラミング言語やデータベースの知識が必要になります。
プログラマーの種類2:PC系システムプログラマー
パソコンで動作するアプリケーションを開発するプログラマーには、Webシステムを構築するプログラマーとクライアント-サーバー型(オンプレミス)のシステムを構築するプログラマーがいます。
Webシステムとオンプレミスのシステムでは、共通して使えるプログラミング言語もありますが、それぞれ別に多用される言語もあります。どちらにも対応できるように言語を習得しておくと仕事の幅が広がります。
プログラマーの種類3:スマホ系システムプログラマー
スマホ系のシステムプログラマーは、SNSやゲーム、教育アプリなどをプログラミングします。
スマホの開発は規模が小さなものも多く、プログラマーもプログラミングだけではなく、設計や企画から担当することもあります。この場合、プログラミング技術だけでなく、企画のセンスを問われることもあります。
Android系とiOS系では開発言語が異なることもあるので、プログラミングスキルの高い人が求められる傾向にあります。
プログラマーの種類4:ゲーム系プログラマー
プログラマーの種類3つ目のゲームプログラマーは、企画書や仕様書に基づいてプログラミングを行い、ゲームを制作します。ゲームにはブラウザゲーム・スマホゲーム・コンシューマーゲーム・PCゲームなどがあります。
ゲーム系プログラマーに求められるプログラミング言語は「C++」(テレビゲームで使用)、「C#」(スマホゲームで使用)、「JavaScript」、「Swift」、「Ruby」などです。
プログラマーの種類5:アプリ系プログラマー
プログラマーの種類の1つ目は、アプリケーションプログラマーです。
アプリケーションプログラマーは、業務の根幹にかかわるシステムを開発するプログラマーです。業務系システムとは、企業の業務で使われるシステム全般のことです。販売管理・在庫管理・財務管理などの基幹システムの開発をメインに行います。
プログラマー→システムエンジニア→プロジェクトマネージャー→コンサルタントへ、というキャリアアップの道筋が他のプログラマーと比較して明確なのが特徴の種類です。使用言語は主に「Java」、「C」、「C#」、「VB」などです。
プログラマーの種類6:パッケージソフト系プログラマー
プログラマーの種類8つ目のパッケージソフト系プログラマーはウィルスセキュリティソフトや表計算ソフト、イラスト作成ソフト、写真編集ソフトなど、パソコンにインストールして使うソフトを開発します。
その他自治体の業務で使われるような業務パッケージソフトや介護支援システム、人材管理システムなどもあります。使用する言語は「C」、「C++」、「VB」、「Java」、「VC++」などです。
プログラマーの種類7:設備系プログラマー
設備系とも設備・制御系ともいわれるプログラマーは大別すると組み込み系プログラマーという種類に分類されます。設備系プログラマーは、交通機関や工場、研究室などの設備を制御するプログラムをプログラミングします。
設備系のプログラミングに興味がある場合は、組み込み系のプログラマーと同様のキャリアパスが使えます。
組み込みプログラムを実装する際には、「C」や「C++」、「C#」、「Java」、「アセンブラ」などが使われます
プログラマーの種類8:製品系プログラマー
製品系プログラマーは、家電やカーナビなどの製品に組み込まれているプログラムをプログラミングします。製品系プログラマーも組み込み系プログラマーに分類されます。
家電製品やカーナビのプログラミングに興味があるのなら、組み込み系プログラマーのキャリアパスが参考になります。「Java」や「C++」、「Python」などが使われます。
プログラマーの種類9:業務系プログラマー
業務系プログラマーはアプリケーションプログラマーのことを指します。アプリケーションプログラマーの中でも企業業務システムに関するプログラミングをします。
業務系プログラマーは、システムエンジニアが設計した新規システムの実装を担当したり、既存システムの改造を手掛けたりします。IT業界の基礎ともいえる種別なのでキャリアパスも確立されています。
プログラマーの種類10:金融系プログラマー
金融系プログラマーもアプリケーションプログラマーの一種ですが、フィンテックという新しい技術の導入により、従来のアプリケーションプログラマーとは異なるスキルが求められるようになっています。
従来の金融系システムではCOBOLが使われており、C#やJavaも取り入れられていましたが、フィンテックの導入により、C#やJavaに加えPythonも使われるようになっています。
プログラマーの種類11:通信系プログラマー
通信系プログラマーは、Wi-Fiルーターやモデム、テレビ会議等などコンピューターやネットワーク間でデータを送受信するプログラムを開発します。その他社内で使用する人事・給与システムの開発もします。
扱うシステムはネットワークに特化しつつも、仕事の幅が広いという特徴があります。よく使う言語は「C」、「C++」、「Java」などが挙げられます。
プログラマーの種類12:オープン系プログラマー
プログラマーの種類6つ目のオープン系プログラマーは、仕様が公開されているOSやソフトウェアを組み合わせてシステムを構築します。
顧客情報を管理するデータベースや、病院の患者データベース情報を確認できる電子カルテのシステムなどを開発します。
よく使う言語は「Java」、「JavaScript」、「PHP」、「Ruby」、「Python」、「C+」、「C#」、「VB.net」などです。
プログラマーの種類13:汎用系システムプログラマー
汎用系システムプログラマーは、国税庁や金融機関など向けにITベンダーが開発した高性能・集中処理の汎用機(大型コンピューター)のシステム開発を行います。
企業向けに独自に開発された非公開のシステムの再構築などが多いのが特徴の種類です。使用言語は、まずは会計処理や事務処理に適した「COBOL」、そして「FORTAN」、その他「Java」、「RPG」、「PL/SQL」、「C」などが挙げられます。
プログラマーの種類14:セキュリティ系プログラマー
セキュリティ系のプログラマーは、セキュリティを考慮した実装を求められます。セキュリティを考慮した実装を行うためには、多種類のプログラミング言語知識だけでなく、ネットワーク機器の設定に関する知識も必要です。
設計はセキュリティ知識に精通したシステムエンジニアが実施しますが、セキュリティ系に特化したプログラマーを目指すのであれば、セキュアプログラミングやセキュリティアーキテクチャなどの知識が必要になります。
プログラマーに必要とされるスキル6つ
ここまで、プログラマーの種類をみていきましたが、次は仕事をしていく中でどの種類のプログラマーにも必要とされるスキルについて確認していきます。
いわゆるビジネススキルや、プログラマーとして働くやる気と覚悟、根拠となるアウトプットも必要になることは留意しておきましょう。
必要とされるスキル1:プログラミングスキル
プログラミング言語駆使するプログラマーという職業では、プログラミングスキルは必然的なスキルとなります。
求人でみかける「未経験歓迎」は、「実務経験は無くてもいいが、プログラミングの経験は必要」と捉えておきましょう。
コードを実際に書いて動かしてみると、思っていた動作と違い、修正を繰り返すうちに対策スキルを身につけることもできるようになります。
必要とされるスキル2:アルゴリズムのスキル
コンピューターがデータ処理するための行動を実現する手順のことをアルゴリズムといいます。
コンピューターが処理を正しく実行するためには、適切なアルゴリズムに基づいた指示が求められます。指示が誤っていると、コンピューターは思った通りの動きをしてくれません。
必要とされるスキル3:負荷を減らし処理能力を高めるためのスキル
プログラマーにはコンピューターに負荷を減らし処理能力を高めるためにスキルも要求されます。プログラムを実行した際にコンピューターに負荷がかかりすぎると処理速度に遅れが生じてしまいます。
発注どおりのプログラムを書くだけでなく、コンピューターに負荷がかからないようにより軽くて使いやすいシステムを目指してプログラムを書きあげる必要があります。
必要とされるスキル4:デバック作業のスキル
デバックとは、コンピュータープログラムのバグ・欠陥を見つけ出して取り除き、修正していく作業のことです。
システムが完成し実際に使ってみると、ミスの発覚やさまざまな不具合に直面することも多々あります。プログラマーはそうした問題の原因を発見し、正確なプログラムの修正を行っていくスキルが必要となります。
必要とされるスキル5:コミュニケーションスキル
プログラマーにはクライアントの要求や他のメンバーの意見を正確に理解し、自分の考えを提案・改善していくためのコミュニケーションスキルも欠かせません。
プログラマーはパソコンに向かって黙々とプログラミングをしている印象がありますが、さまざまな人たちとコミュニケーションをとりながら進めていくからです。
必要とされるスキル6:ハードウェアやネットワークスキル
システム設計において、ハードウェアやネットワークの設計はシステムエンジニアが行うので、プログラマーには特に深い知識は必要ありません。しかし、ハードウェアやネットワーク環境を使ってプログラムを動かす以上、プログラマーにも最低限の知識は必要です。
プログラムを実行するうえで、ハードウェアのどの資源を消費するのかや、IPアドレスやホストの指定などネットワークの設定と使い方程度の知識は必要です。
プログラマーになるには?
プログラマーになるためにはどうすればよいのか、次の項ではプログラマーになるための手段をみていきましょう。ここでは、「プログラミングスクールで学ぶ方法」と「独学で学ぶ方法」の2つのパターンに分けて簡単にご紹介します。
プログラミングスクールで学ぶ
ひとつは、プログラミングスクールで学ぶ方法です。独学と比べると費用こそかかってしまいますが、プログラミングスクールでは効率的にプログラミングを学べます。
プログラミングスクールでは現役のプログラマーが講師を務めることも多く、最先端の情報や実践的なノウハウを学べます。疑問点や学習に行き詰まった折には講師に直接相談できることもメリットといえるでしょう。
独学で学ぶ
もうひとつの学習方法は、書籍やオンラインの学習サービスなどを利用して、独学でプログラミングを習得する方法です。独学の良いところは、なんといっても費用がかからず、自分のペースで学習を進めていける点です。
最近ではインターネット上で無料の学習サイトや動画やツールが充実しており、学習しやすい環境となっていますが。ただしプログラミングスクールとは異なり、最先端の情報や実践的なノウハウを身につけるのは、やや難しいかもしれません。
プログラマーに必要な7種類の開発言語を紹介!
生活に必要なものの多くがプログラムによって制御されるようになり、プログラマーが求められることも増えています。プログラマーの需要が多い中でも、対応可能なプログラミング言語によって需要と供給の量は異なっています。
ここでは、プログラマーとして習得しておきたいプログラミング言語を7種類紹介します。いずれも需要が多かったり、逆に供給量が少なかったりという理由で対応できるプログラマーが求められています。
開発言語の種類1:C/C++
C言語やC++は適用できる業務が多く、あらゆる分野で求められているプログラム言語といえます。
C言語は歴史も古い種類のコンパイル型のプログラミング言語です。オブジェクト言語の基礎ともいえるプログラミング言語なので、習得すればほかのプログラミング言語を習得する際も応用できます。
C++は、C言語にオブジェクト指向の考え方を取り入れたプログラミング言語です。Webアプリや業務システムなど幅広い分野に適用できます。
開発言語の種類2:Python
Pythonはオープンソースのプログラミング言語で、人工知能の開発でも使われていることで有名です。
Pythonは、人工知能のような高度なシステムに使われている言語であるにもかかわらず、初学者でも取り組みやすいシンプルな文法で構成されます。
シンプルで理解しやすく、少ないコード数で実装ができますが、適用範囲が広く、さまざまな分野のプログラムで使われています。習得しておけば業務範囲を広げられるでしょう。
開発言語の種類3:JavaScript
JavaScriptは、Webサイトのクライアント側動作を記述するプログラミング言語の種類です。Webサイトの表示を制御する際はJavaScriptが便利で、UIの制御には欠かせないプログラミング言語です。
JavaScriptは基本的にクライアント側で動作しますが、サーバー側で動くJavaScriptも存在します。Webサイトの構築では欠かせない言語なので、Web系のプログラマーを目指すのならhtmlと合わせ、必ず習得しておきましょう。
開発言語の種類4:SQL
SQLはデータベース操作言語出会ってプログラミング言語の種類ではありませんが、プログラマーには必要な知識です。プログラムの中でデータベースを使う際には、SQLの知識が必要になります。
SQLを使いこなすためには、データベース知識も必要となります。プログラマーであってもデータベース関連資格を保有していれば、プログラミングの信頼性も高くなります。プログラミングの基礎を固めたうえでSQL習得を目指してみましょう。
開発言語の種類5:C#
C#はマイクロソフト社が開発したプログラミング言語の種類です。オブジェクト指向のプログラミング言語で、マイクロソフトのVisualStudioを使ってプログラミングができるので、開発言語の種類の中でも初学者が取り組みやすいものです。
構文はJavaに似ているので、Java経験者であればC#も簡単に習得でき、逆にC#経験者であればJavaに移行するのも敷居が低くなります。Windows向けのアプリケーション開発に向いています。
開発言語の種類6:JAVA
Javaは、特定分野のアプリケーションに使われる言語ではなく、あらゆる種類のプログラムを実装可能な、開発言語の種類の中でも長年人気が高い状態です。プログラマーであれば、Javaはぜひとも習得しておきたいプログラミング言語の1つです。
JavaはOSの種類を選ばず、どのようなコンピューターであっても動作させられます。オブジェクト指向のプログラミング言語であることも人気の理由となっています。
開発言語の種類7:VBA
VBAは、マイクロソフト社Officeシリーズで使われているプログラミング言語です。特にExcelやAccessなどでマクロ記述に使われます。
マクロと同じように扱えて、普段Excelで利用している関数をそのまま使えるので、難易度が低く、取り組みやすい言語です。
開発言語の種類としてVBAだけではフリーランスになるのは無理ですが、プログラマーならVBAは扱えるようにしておきたいものです。
‘SE’ ‘left’ ‘8つの種類にそれぞれに適したプログラム言語が存在するのですね。’]
‘PM’ ‘right’ ‘業務系システムからゲーム開発など多種多様なプログラマーが存在し、我々の生活を支えてくれています。’]
プログラマーの種類に合った言語の習得やスキルを身につけよう
プログラマーの種類を把握できたら、どの種類が自分に適しているかを見定め、プログラミング学習をスタートします。
自分が作りたいものを具体的にイメージするとモチベーションを維持しやすくなります。その目的を実現するために、より理想に近いプログラマーの種類を選び、スキルアップをしていきましょう。