2024/03/04

COBOLエンジニアって需要があるの?

カテゴリ スキル
COBOLエンジニアって需要があるの?

COBOLは化石言語やレガシー言語とされることが多く、現在ではCOBOL言語を扱う業務はほとんどなくなったとも言われています。

今回はプログラミング言語としてのCOBOLのメリット・デメリットや、業界におけるCOBOLエンジニアの需要、COBOLエンジニアが今後生き残るためのキャリアプラン、COBOLを扱う実際の案件例など、COBOL言語を取り巻く現状について詳しく紹介します。

エージェントサービス「エンジニアファクトリー」では、ITフリーランスエンジニアの案件・求人の紹介を行っています。紹介する案件の平均年商は810万円(※2023年4月 首都圏近郊のITエンジニア対象)となっており、スキルや言語によって高条件の案件と出会うことができます。

氏名やメールアドレス・使用できる言語を入力するだけで、簡単60秒ですぐにサポートを開始できます。案件にお困りのITフリーランスの方やより高条件の案件と巡り合いたいと考えている方は、ぜひご登録ください。

COBOL言語のメリット・デメリット

COBOL言語のメリット・デメリット

COBOLはCommon Business Oriented Languageの頭文字を取ったもので、1959年にアメリカで開発された事務処理用プログラミング言語です。帳票の作成や計算処理に強みを持つため、政府機関や銀行、保険会社、証券会社など金融系企業において幅広く利用されてきました。

近年では新規のシステム開発に利用されることは少なくなり、レガシー言語(主流ではなくなった古いプログラミング言語のこと)と呼ばれています。しかし、60年以上にわたり政府機関や金融業界を支えてきたCOBOLには他の言語にない強みがあるため、現在でも膨大なデータの処理を担う基幹システムとして稼働し続けています。

優秀なエンジニアを多く抱える大企業にとっても、COBOL言語が支える大規模システムのマイグレーションは容易ではありません。他言語による新システムへの移行を検討する企業は多いですが、実際の移行には想定以上の時間を要しているのです。

それではCOBOL言語のメリット・デメリットについて、以下5つのポイントで改めて紹介します。

  • 言語としての信頼性が高い
  • 金額周りのデータ処理に特化している
  • 可読性が高い
  • 汎用機で残っているものが少ない
  • 古いシステムなので設計書やソースがない場合が多く、コードの書き方も独特

言語としての信頼性が高い

COBOL言語は60年以上にわたる歴史があり、今現在も政府や各金融機関で利用されているなど、信頼性の高さが特徴の一つです。

プログラミングの世界では、時代のニーズに合わせて新しい言語が次々と開発されます。しかし、どれだけ優れた言語であっても過去の実績がなければ信頼を得るのに時間がかかるでしょう。 情報の正確性が求められる政府機関や金融業界において長年使用されていることは、COBOL言語の信頼性の高さを表しています。長期間の利用によってノウハウが蓄積されている点も、COBOL言語の信頼性を高める一因となっています。

金額周りのデータ処理に特化している

COBOL言語が得意とするのは、金額や顧客情報を含む膨大なデータの処理です。

汎用機(メインフレーム)での事務処理用の言語として開発されたことから、大量のデータを扱うバッチ処理に優れています。たとえば、演算の誤差や小数点の処理など、他のプログラミング言語では正確性に欠ける場合もありますが、COBOL言語ではきわめて正確な計算処理が可能です。 金額計算などに適しているため、現在でも銀行や証券会社における膨大なデータのバッチ処理を担う重要なプログラミング言語だといえます。

可読性が高い

COBOL言語のコードには英語が使われ、人間が話す言葉に近いため、可読性が高い点もメリットです。 誰が書いても同じようなコードになりやすく、開発者でなくても内容理解が容易とされています。COBOL言語を扱う業務では新規の開発案件が少なく、既存システムの保守・運用やオープン化などが多いため、可読性の高さはエンジニアがシステムを理解する際の助けになるでしょう。

汎用機で残っているものが少ない

一方でCOBOL言語のデメリットとして、ハード側の汎用機自体があまり残ってない点が挙げられます。万が一、システムではなく汎用機自体に不具合が発生したときに代わりとなるものがないというのはリスクが大きいです。COBOL言語を用いた汎用機自体の数が少ないこともあり、COBOLエンジニアの活躍機会も少なくなったといえるでしょう。

古いシステムなので設計書やソースがない場合が多く、コードの書き方も独特

現在稼働しているCOBOL言語を使ったシステムは古いものが多く、設計書やソースがない場合もあります。

可読性の高い言語とはいえ、導入当時の設計書なしで運用保守やオープン化、他システムとの連携に取り組むのは骨が折れるでしょう。COBOL言語では既存システムの運用や他システムへのマイグレーション案件が多いため、設計書やソースの不備によって作業が難航するケースも想定されます。

また、可読性の高いCOBOL言語ですが、コードの書き方は他のプログラミング言語と比べて独特だといわれます。オブジェクト指向言語やスクリプト言語とは文法が異なるため、COBOLで培ったプログラミング知識を他の言語で活かすことは難しいかもしれません。

COBOLが需要がある理由

COBOLが需要がある理由

新規案件は少ないものの、エンジニア業界においてCOBOL言語を扱う業務がなくなったわけではありません。むしろ、新規でCOBOL言語を学ぶエンジニアが少ないからこそ、すでに知識・経験のあるエンジニアに対する需要は高まっているともいえます。

依然として、COBOL言語は政府機関や金融系企業における大規模システムに使われています。規模が大きいため移管には多大なコスト・人手が必要となり、簡単にはマイグレーション(システムの移行)ができません。

システムは正常に稼働してこそ意味があります。システム障害を繰り返すみずほ銀行のニュースなどを見れば、企業担当者として安易なシステムの刷新に踏み切れない現状も理解できるでしょう。システム移行に不備があり、復旧が難航すれば、自社事業に大きなダメージを与えかねません。

COBOLエンジニアに対しては、既存システムの運用・保守や新システムへの移行業務など現在も一定の需要があります。一方で、長期的には衰退が見込まれるCOBOL言語を新たに学ぶエンジニアは少ないのが現状です。現場でシステム開発や運用保守に携わった経験がある熟練のCOBOLエンジニアなら、多数の企業から引き合いがあるでしょう。

もちろん、レガシー言語と呼ばれている通り、将来的にはCOBOL言語を扱う業務は減少していくでしょう。しかし、わずか数年で急激に需要がなくなるといった心配はなさそうです。たとえば、損保ジャパンが2015年からスタートし、古い基幹システムを刷新する「未来革新プロジェクト」は、2021年6月にようやく第1期が完了しました。進行中の第2期、第3期を含めれば、あと10年ほどはかかるかもしれません。基幹システムの移行には、事前調査や新システムの計画立案、さまざまなテストなど長期にわたる取り組みが必要であることが見てとれます。

参照:基幹システムの刷新(第1期)完了|損害保険ジャパン株式会社

また、独立行政法人情報処理推進機構が公表している「ソフトウェア開発分析データ集2020」によれば、「ソフトウェア開発プロダクトで使われているプログラミング言語の累積件数」においてCOBOL言語が15.3%を占めています。最も多いJavaの40.6%に次いで2番目の大きさであり、いまだにCOBOLが業界内で重要な役割を担っていることは間違いありません。

参照:ソフトウェア開発分析データ集2020|独立行政法人情報処理推進機構

さらに、COBOL言語での新規開発が減ったとしても、古くから基幹システムにCOBOL言語を使用している企業での運用・保守やオープン化の業務など、COBOL関連のニーズは根強く残るはずです。レガシー言語と言われるCOBOL言語ですが、しばらくエンジニア需要はなくならないと考えてよいでしょう。

完全に別の言語に置き換わってCOBOLが使われなくなったときにどうするか

今後もしばらくは需要が見込まれるCOBOLエンジニアですが、10~20年後やその先を見据えれば、別の言語に完全に置き換わることも想定しておくべきです。

実際、IT関連の代表的な資格である基本情報技術者試験においても、2019年秋の試験を最後にCOBOL言語の問題が廃止されました。独立行政法人情報処理推進機構の発表資料によれば、「教育機関等における指導言語としての利用の減少」や「本試験における受験者の選択率の極端な低下」が理由とされています。

基本情報技術者試験には代わりにPythonが採用され、理由として「適用範囲の拡大と利用の増加」や「機械学習やディープラーニングに関わる主要なOSS(オープンソースソフトウェア)での採用の広がり」が挙げられています。需要の高まりや最新技術への適用を考えれば、当然の流れといえるかもしれません。

参照:基本情報技術者試験における出題を見直し|独立行政法人情報処理推進機構

今現在は需要があるCOBOLエンジニアですが、COBOL言語だけに頼らないキャリアプランを今のうちから描いておくべきでしょう。ここからは、具体的にCOBOLエンジニアがどのようなキャリアを築くべきか、解説します。

業種の知識を生かす

COBOL言語は損保や都市銀行などで主に使われているため、エンジニアとして業務にあたる中で業界独自の知識が身につくでしょう。保険・金融など特定の業種で培った知識や経験を活かせば、PMやコンサルタントとして活躍することも可能です。業界に関する専門的な知見があれば、経営者視点に立ったプロジェクト管理が可能になるからです。 弊社の求人紹介サービスエンジニアファクトリーにおいても、業界経験を活かして上流エンジニアとして活躍されている方がいます。

マネジメントスキルを活かす

損保や銀行におけるプロジェクトは大規模なものが多く、さまざまなベンダーと関わります。COBOLエンジニアとして参画することで、顧客折衝能力やベンダーコントロールのスキルが自然と身につくでしょう。エンジニアスキルに加えて対人でのコミュニケーションスキルを磨けば、COBOL言語に限らずさまざまなプロジェクトで活躍することが可能です。

COBOLエンジニアは経歴の長い方が多いため、マネジメントスキルを期待されることは少なくありません。自身の業務に加え、全体の進捗やメンバーの管理をカバーできる人材であれば、より上流の業務を任せてもらえるでしょう。プレイヤー兼マネージャーとして採用されれば、年収などの待遇面にも期待できます。

COBOL案件の例

COBOL案件の例

COBOLエンジニアとしての具体的な業務の例を紹介します。新規の開発案件は少ないですが、既存システムの保守や運用、オープン化などに対応できるCOBOLエンジニアを求める企業は多いです。

COBOL言語の主な案件の例としては、以下5つが挙げられます。

  • 保守・開発業務
  • 運用業務
  • オープン化対応
  • 他システムとの連携業務
  • テスト実施・分析

それぞれの案件の概要や求められるスキルについて解説します。

保守・開発業務

保守・開発業務には、長年使用してきた既存システムの維持・管理や、機能改修などの役割があります。税制変更や新元号への対応など、システムを使い続けるにはCOBOL言語に精通したエンジニアによる定常的な保守・開発が必要となります。また、トラブルに備えたバックアップの管理も重要です。

保守・開発業務は既存の機能を理解したうえで業務にあたる必要があり、要件定義から参画するケースも多くなります。要件定義や基本設計のスキル・経験があるエンジニアなら重宝されるでしょう。また、障害が起きた際のトラブル対応や原因究明、対策などにおいても、COBOL言語を使った現場経験が活かせるはずです。

運用業務

運用業務では、定型的な処理や問い合わせ対応を行うほか、日々のシステム作動状況や障害の発生状況などを確認します。サーバーやネットワークとのつながりも深く理解したうえで、保守チームとうまく連携し、障害を解消するスキルが求められます。

COBOLは可読性の高い言語ですが、業界の専門知識があればより深くコードを理解でき、システムに落とし込めるでしょう。金融・保険業界でCOBOLを扱った経験があれば、運用業務担当としてのニーズがさらに高まります。

オープン化対応

3つ目は、COBOL言語による既存汎用機のシステムをオープン化する業務です。長年使っていた既存システムを刷新する場合など、COBOL関連の求人では多く見られるケースです。オープン化完了後は、汎用機やオペレーターの設置が不要になり、WindowsやLinuxなどでの開発が可能となります。 求められるスキルとして、COBOL資産をオープン系システムに移植するには、データベース構造やUIに対応したコーディングが必要になるでしょう。オープン化に伴い、COBOLからJavaなど他の言語に切り替えることもあるため、オープン系言語のプログラミングスキルがあれば案件を受けやすくなります。

他システムとの連携業務

4つ目は、COBOL言語を使ったシステムと他のシステムを連携させる業務です。データの受け渡しが円滑に行われるよう、他のシステム担当者とコミュニケーションを取りながら業務を遂行します。

テスト実施・分析

5つ目は、システムの移行や改修を行った後にテストを実施する業務です。うまくシステムが作動するのか、他のシステムとの連携が問題ないかなど、スムーズにシステムが稼働するよう綿密なチェックが必要となります。動作不良が起きた場合の原因分析やユーザー支援も業務に含まれるでしょう。

以上、COBOL案件を5つの種類に分けて紹介しました。

実際に弊社サービスで紹介している案件は、以下リンクからご確認いただけます。

弊社エンジニアファクトリーのCOBOL案件:https://www.engineer-factory.com/jobs?q[tags_id_eq_any][]=1282

既存システムの保守・運用や、COBOLから別システムへの移行案件など、さまざまな求人紹介が可能です。また、上流工程から担当いただくPM/PMO案件も扱っております。

COBOL案件を探しているエンジニアの方から寄せられた、以下のようなご相談に対応した実績もあります。

  • 富士通COBOLの案件を探しているのにIBM COBOLの案件しか紹介がこない
  • オープンCOBOLの経験がないのにオープンCOBOLの案件ばかり送られてくる
  • COBOLでも基板側に強みを持っているのに開発の案件ばかり送られてくる

自分に適したCOBOL案件が見つからないとお悩みの方は、ぜひ一度ご相談ください。

まとめ

COBOL言語のメリットやデメリット、COBOLエンジニアに対する需要、描くべきキャリアプラン、具体的な求人案件などを紹介しました。

エンジニアファクトリーでは、本記事で紹介した案件以外にもCOBOL言語の求人を豊富に扱っています。50代のエンジニアなど幅広い年代の方が活躍していますので、気になる方はぜひ登録をしてみてはいかがでしょうか。