【IT業界への転職】プログラマーの業務や種類、キャリアパスを解説します!

経産省の発表した「平成30年度 IT人材需給に関する調査」によれば現在の日本ではIT人材は32万5千人万人が不足している状況であり、2030年には45万人が不足するとの予想がされています。
これまではITの恩恵を受けていなかった業界でも働き方の多様化やDXの推進によりエンジニアやプログラマーといった高度IT人材の争奪戦に舵を取りはじめました。
今後ますますIT人材への注目が集まっていく中でもエンジニアの登竜門としての職種なのがプログラマーです。
プログラマーの一般的な仕事内容や、プログラマーの種類、さらにプログラマーのキャリアパスについても解説しますのでぜひ参考にしてください。
プログラマーの業務について
プログラマーの中にも初心者からできる業務と経験が必要な業務に分かれています。
開発(構築/実装/コーディング)
開発は設計書や仕様書をもとにプログラミングをしていく作業工程で、プログラマーのメインの業務になります。
その後の運用や保守がしやすくなるように、分かりやすいコードを記述することが求められます。多くは複数のプログラマーと一緒にチームでプログラミングをします。
テスト
テストの行程は文字通り完成したシステムが正常に動くかの検証・テストをおこなうことです。プログラムの動作テストをおこない、バグを見つけて修正をしていきます。
プログラマーがテストをおこなうケースもありますし、テストエンジニアが担当するケースもあります。
テストは未経験の方や実務経験のない若手が担当することが多く、エンジニア経験のない人が最初に配属されることが多いポジションでもあります。
運用・保守
運用・保守はすでに完成して稼働しているシステムのメンテナンスをおこなう業務です。
「運用」と「保守」は一緒に使われているので同じ意味に捉えられることが多くありますが、厳密には違います。
まず「運用」とは、システムが安定して稼働できるための定期的なアップデートや入力作業がメインの業務です。
一方、「保守」は、システムに障害やトラブルが発生した時に対応、改修をおこなうことを指します。
規模が大きい企業では「運用」と「保守」で担当者が分かれていますが、中小企業やベンチャー企業などでは兼任しているケースもあります。
これから社会がより一層ITに力を入れていく中で確実に必要な職種でもあります。
設計
いわゆる上流行程と呼ばれる業務で、設計はシステムが最適に稼働するための要件定義や設計書、仕様書の作成をおこなう業務です。
一般的にはシステムエンジニアが担当する行程ですが、スキルのあるベテランプログラマーがおこなうケースもあります。
スキルだけではなく、クライアント折衝やチーム内との連携などコミュニケーション能力やマネジメントスキルも求められます。
プログラマーの種類とは?
プログラマーと一口にいっても、開発するシステムやサービス、業種によっても働き方が違ってきます。また使用するプログラミング言語によってもいくつかプログラマーの種類が異なってきます。
そのためプログラマーを目指すにしても、自分が「どんなサービスを作りたいか?」「どんな業界で働いていきたいか?」といったことを考慮して企業や業界を選ぶ必要があります。
ここでは代表的なプログラマーの種類を紹介します。
Web系プログラマー
WebサイトやWebシステムに特化しているのがWeb系プログラマーです。
私たちが日常的に使っているECサイトやSNSなどもWeb系プログラマーによって作られています。
WebサイトやWebのシステムは不特定多数のユーザーに利用されることが想定されるため、処理速度の速さやWebやITに関しての知識も必要とされます。
Webサイトの設計には「HTML」「CSS」「JavaScript」の知識が必要であり、「Java」「PHP」「Python」といったプログラミング言語も開発環境や目的によっては覚える必要がでてきます。
さらにWebサーバーシステムの「Apache」、データベースの「MySQL」、OSの「Linux」、PHPなどの知識やスキルも求められるのがWeb系プログラマーです。
<求められるスキルや知識>
PHP、Ruby、Perl、Java、JavaScript、HTML、CSSなど
オープン系プログラマー
オープン系プログラマーは、業務用のシステムやアプリケーションの開発を担当するプログラマーです。
なぜオープン系なのかというと、業務用の主流が今までは汎用系(クローズドなシステム)であったのに対し、オープン系のシステムやアプリケーションはネットワーク内のすべてのPCから情報にアクセスできる特徴があったからです。
Web系とも類似していますが、Web系のプログラマーが不特定多数のユーザーを想定してシステムを作るのに対して、オープン系では企業や業務に特化したシステムを作るという違いがあります。
<求められるスキルや知識>
UNIX、LINUX、Java、C#、C+、PHP、Ruby、Python、JavaScript、VB.NETなど
汎用系プログラマー
汎用系のプログラムは1台の大型コンピューターで作動するシステムで、金融業界などの高いセキュリティを求められる業界で使用されています。
近年はオープン系に移行している傾向にはありますが、これまでのデータやノウハウの蓄積もあり需要はまだまだ高いとされています。
<求められるスキルや知識>
COBOL、IBM、NEC、Java、FORTAN、PRG、PL/1、Cなど
組み込み系プログラマー
家電や自動車などに内蔵されているシステムを動かしているのが組込み系のプログラマーです。主にメーカーで使用されていることが多く、特定の機能を実行するためのプログラミングがメインでした。
近年ではスマートフォンやIoTの普及により、センサーを読み取っての動作やスマートフォンとの連携が求められています。
<求められるスキルや知識>
C、C++、C#、Java など
アプリケーション系(モバイル系)プログラマー
スマートフォン向けのアプリケーション開発に特化しているのがアプリケーション系プログラマーです。
モバイル系とも呼ばれ、スマートフォンやインターネットの普及により近年は注目が集まっている分野です。
ITの技術展開によって使用されるスキルやプログラミング言語も日々変化していくので、プログラマーには常にアップデートが求められます。
アプリケーション系と括られていますが、デバイスにインストールして利用する「ネイティブアプリ」、ブラウザで動かす「Webアプリ」、業務用SaaSなどに用いられる「業務系アプリ」など更に種類があり、デバイス毎の知識も必要になってきます。
<キーワード>
iOS、Android、Java、Swift、Ruby、PHP、Kotlin、C、C#など
こちらも合わせてどうぞ
おすすめなプログラミング学習方法4選【メリットとデメリット】
プログラマーの働き方
プログラマーの種類を見てきましたが、次はプログラマーの働き方を見てみましょう。
プログラマーの働き方にはクライアントの企業に出向して働くケースと、自社内で働くケースの大きく分けて2通りの働き方があります。
客先常駐型のプログラマー
クライアントの企業に赴き客先で働くことを「客先常駐」と呼びます。
「客先常駐」型のプログラマーはSES(システムエンジニアリングサービス)企業に多く、プログラマーは様々な現場に移ることが一般的となっています。
そのため様々なプログラミング言語や技術に触れられる点ではスキルの向上やモチベーションの維持といったメリットがあります。
また人間関係も一定期間でリセットされるので人間関係の構築に労力を必要としないといった特徴もあります。
メリットが明確であるということは、反面デメリットがはっきりとしてるともいえます。プロジェクトによって労働環境が変わっていくことをデメリットに感じる人もいるでしょう。
また自分が希望する全てのプロジェクトに参加できるわけではないといったデメリットもあります。
自社で働くプログラマー
クライアント企業ではなく自社の開発に関わるプログラマーの場合は、勤務場所や稼働時間などが大きく変更することがないため仕事量の調節がしやすく働きやすいメリットがあります。
自分がどんなサービスのどんなプログラムを作っているかが明確なので評価が分かりやすく、モチベーションアップにもつながるといったメリットも。
一方、働く環境にアサインするためにはスキルや経験も求められるので初心者には狭き門でもあります。
SIer(システムインテグレーター)
SIerは自社で働きつつ、クライアント企業のシステム開発を手がけるという働き方です。
この場合のメリットとしては、大企業の大型案件に携われたり、さまざまな技術に触れることができるのも挙げられます。
SE(システムエンジニア)へのキャリアアップも視野に
プログラマーからのキャリアアップとしてSE(システムエンジニア)を目指す人は多くいます。
SEはプログラムやシステムを開発する際の上流工程である、設計書や仕様書を作成します。さらに予算管理、進捗管理などマネジメントに関する業務もおこないます。
技術力はもとより、クライアントとの折衝やヒアリング、チームメンバーとのコミュニケーションといった部分も要求されます。
また、厚生労働省が発表している「賃金構造基本統計調査」によると、SE(システムエンジニア)の平均月給は約37万2000円となっています。
ボーナスを入れると平均年収は約551万円で、プログラマーと比較すると年収ベースで100万円の差があります。
まとめ
プログラマーといっても様々な種類や働き方があり、IT業界に入ってキャリアを形成していく過程でさまざまな道が拓けていくはずです。
プログラマーの中でも自分の適性に合わせてキャリアチェンジができますし、SE(システムエンジニア)へのキャリアアップを目指すものよいでしょう。
自分のキャリアを形成していくのは、他ならぬ自分自身です。
プログラマーを目指すのであれば妥協せずに、自分の目標とするキャリア形成のためにプログラミング学習や資格の取得を頑張ってください。