【IT職種図鑑】|アプリケーションプログラマ(業務系)

IT業界には様々な業界や職種が存在します。今回は、「アプリケーションプログラマ(業務系)」について見ていきましょう。

※アプリケーションプログラマが開発するアプリケーションソフトウェアには、主に業務系アプリ、Web系アプリ、スマホアプリがあります。ここでは、業務系アプリを開発する「業務系プログラマ」について解説していきます。

仕事内容

アプリケーションプログラマとは、業務系システムを開発するプログラマです。一般的に業務系プログラマと呼ばれています。業務系システムとは、企業の業務で使用するシステム全般のことを指します。

例えば、販売や在庫管理の基幹システムや財務などを扱うシステム、業務やサービスの中核となる重要なシステムなどの開発が中心です。アプリケーションプログラマは、金融系(銀行系、証券系、保険系など)、物流系、官庁系など様々な業界で活躍できます。

業務系といってもピンとこない人もいるかと思いますので、仕事例を見ていきましょう。

仕事例:銀行(金融系)での預金引き出し業務の場合

①暗証番号の入力

カード情報と暗証番号が正しいかを確認し、正しければ引き出し金額を要求、誤ればエラーを返す。(暗証番号チェックプログラム)

②引き出し金額の入力

預金残高があれば預金引き出し、残高がなければエラーを返す。(預金引き出しプログラム)

※このような業務の処理を行うためにはプログラムが必要で、開発するプログラムの数は一企業で数千~数万本あり、同時にメンテナンスも発生します。一度作ったら終わりではなく、使いながら必要に応じて改良・トラブル対処などの運用を行います。銀行などが一定期間ATMの機能停止を知らせるCMを見たことがある方もいるでしょう。その停止期間に、メンテナンスを行っています。

アプリケーションプログラマの特徴

キャリアパス

アプリケーションプログラマのキャリアパスは、他のプログラマに比べて明確であることが特徴です。

アプリケーションプログラマ(業務系)の一般的なキャリアパスとしては、まずアプリケーションプログラマ(PG)からスタートし、プログラミングスキルを磨いていきます。その後、システムエンジニア(以下、SE)やプロジェクトマネージャー(以下、PM)になるケースがほとんどです。

このPG→SE→PMの流れの中で、設計・開発・テスト・保守運用などの下流工程の経験、要件定義や分析などの上流工程の経験を積んでいきます。

その後、ITコンサルタントやセールスエンジニア(営業職)など、他にも幅広い職種に挑戦できます。ちなみに、いきなりSEからスタートできる企業はほとんどありませんので、注意してください。

働く環境

アプリケーションプログラマの働き方は特徴的で、ほとんどの場合は「客先常駐」という働き方になります。

客先常駐は顧客のもと(案件先)で仕事を行うスタイルです。これは情報漏洩などを防ぐために行われます。プロジェクトごとに働く場所が異なりますが、いろいろな現場を体験することによって大幅なスキルアップが期待できます。

PMクラスになれば、銀行の職員と一緒に仕事をしたり、他の開発会社との出会いが増えるため、さらに経験を積むことができます。今後のキャリアについても可能性が無限に広がります。

また、一人で常駐することはほとんどなく、同じ会社に所属する先輩技術者と共に行動します。多くの企業は、技術者が月に一度自社に戻る日を設けています。

業務知識に関するメリット

アプリケーションプログラマには業務知識に関するメリットが多くあり、IT業界でスキルアップ・キャリアアップしていきたい方にはおすすめの職種です。主に、以下のようなメリットが挙げられます。

需要のある業務知識を身に着けることができる

前述したとおり、アプリケーションプログラマは企業で扱うシステムを開発しています。このようなシステムの知識を有する技術者は、人材不足やシステムの重要性からどこへ行っても重宝され、給与水準も高い傾向にあります。

他業界の知識・スキルが身につく

アプリケーションプログラマは、客先常駐での勤務がほとんどですので、他業界の業務知識も身に着けることができます。例えば、銀行の業務システムの開発に携わると、銀行の業務知識を学ぶことができます。より使いやすいシステムを作るためには、その業界・企業の業務知識は必要になりますので、自ずとシステム開発+αの知識が蓄積されていきます。一つのシステム開発経験があると、その後も同じような案件で重宝されやすく、活躍することができるでしょう。

こんな人におすすめ

大規模な開発に携わりたい

企業向けのシステム開発は大規模なプロジェクトである場合が多く、大きな仕事をチームで成し遂げたいと考えている方にはおすすめです。

人と話すことが好き

業務を効率化し、無駄を省くためにはチームワークが大切です。また、キャリアを積んでSEやPMになったとき、顧客との打ち合わせに参加することもあります。そのため、人と話すことが好きで、コミュニケーションを難なく取ることのできる人には向いている職種です。

物事を論理的に考え、実行することができる

「このような処理を実現するにはどうすればいいか」、「作業を効率化するためにはどうすればいいか」など、課題と解決策を探り、それを実行に移すことのできる人は重宝されます。常に良いシステムを作ることを考えることは、技術者として大切なことです。

必要なスキル

アプリケーションプログラマは、プログラミングスキルはもちろんですが、「ネットワークやデータベース(DB)に関する知識」が必要になります。クラウド化が急速に進んでいる現代において、これは必須です。

また、キャリアアップした際には、顧客の要望に応えるための「企画力・提案力」、業務を円滑に遂行するための「管理能力・コミュニケーションスキル」も問われます。

アプリケーションプログラマのやりがい

昨今、多くの企業で働き方の見直しが行われており、残業や休日出勤を減らすために業務の効率化が求められています。質の高いシステムを導入することで無駄な作業を省くことができたり、業務管理も容易になるでしょう。

業務系システムは、企業が効率化を目指す上で大きな役割を担っています。自分が携わったシステムが企業の業務システムとして使用され、実際にその効果が出ていることを知ると、アプリケーションプログラマとして大きなやりがいを感じます。

代表的な企業

アプリケーションプログラマが活躍する代表的な企業は、以下の通りです。

日本オラクル、NECソフト、富士通システムズ・イースト、日立ソリューションズ、
アウトソーシングテクノロジー、日本総研ソリューションズ、その他中小企業

アプリケーションプログラマの需要と将来性

コンピュータとインターネットが世の中に普及してからというもの、企業の業務のあり方は大きく変化してきました。業務のIT化により、現在はお金の管理から人の管理までコンピュータとインターネットでほぼ完結できてしまうものが多いです。

業務のIT化は今が過渡期と言われることもありますが、業務システムは一度作ったらその都度運用し続けていくものなので、過渡期が終わったとしてもアプリケーションプログラマの需要がなくなる心配はありません。

また、全ての企業の業務が完全にIT化されるのはまだ先のことです。環境整備もこれからという企業も数多く存在しますし、新規案件の開拓は大いに見込まれます。仮に業務のIT化がすべて完了したとしても、そのシステムを永久に使い続けることはありません。新技術の誕生やトレンドの変化でニーズも変わっていきます。将来的には、変化しつつも安定した収入を得ることのできる職種と言えるでしょう。

アプリケーションプログラマの詳細データ

気になるアプリケーションプログラマの詳細データをまとめてみました。
※平均年齢と平均年収は、ITスキル研究フォーラム(iSRF)が201610月に発表した「IT技術者向けスキル診断2016年度調査レポート」の「アプリケーションスペシャリスト」のデータを参考にしていますので、アプリケーションプログラマの水準は一定数下がる可能性があります。

平均年収

アプリケーションエンジニアの平均年収は451万円となっています。アプリケーションエンジニアはPGを経ての職種なので、アプリケーションプログラマは多少水準が低下する場合があります。(アプリケーションエンジニアは、SEに近い仕事内容ですので、単にSEと呼ぶことも多い。)
また、PMにキャリアアップすると給与は格段に上がる傾向があります。

男女比率

同調査によれば、男女比率は以下の通りになっています。

男性:約82%
女性:約18%

年収UP方法

アプリケーションエンジニアは、幅広い知識と高度な技術力が年収アップに繋がります。特に、以下のような経験は強みになります。

  • 新しい技術を用いた複雑な開発
  • 大規模な開発案件における負荷対策
  • 受注額が大きいプロジェクト
  • グローバル展開されるなど、利用範囲が広いアプリケーションの開発

また、キャリアアップしてからは、「マネジメント経験」や「市場分析・コンサルティングによって顧客の課題を解決した経験が評価」に繋がります。
これらの実績を残すためには、まずは地道にプログラミング経験を積み、コツコツと経験を積み上げていく必要があります。

主な開発言語

言語は、開発するシステムによって異なります。
アプリケーションプログラマは、主に「Java」、「C」、「C#」、「VB」などを使います。
また、サーバーやMySQLなどのデータベースの知識も必要です。