IT業界で働いていると
「金融システムの開発」
という言葉を聞いたことがある人も多いと思います。
実際、日本の大規模システム開発では
- 銀行
- 証券
- クレジットカード
- 保険
といった金融系の案件が非常に多くあります。
そしてその多くが
Javaで開発されています。
今回は
金融システム開発のリアル
について紹介します。
なぜ金融システムはJavaが多いのか
金融システムでは
- 安定性
- 長期運用
- セキュリティ
が非常に重要になります。
Javaは
- エンタープライズ開発の実績
- 長期サポート
- 大規模システムとの相性
といった理由から
金融業界で広く使われてきました。
現在でも
- Spring
- Spring Boot
などを使ったバックエンド開発が
多くの金融システムで採用されています。
プロジェクトの規模が大きい
金融システム開発の特徴の一つが
プロジェクト規模の大きさ
です。
例えば
- 数百人規模の開発
- 数年単位のプロジェクト
になることも珍しくありません。
銀行の基幹システムや
決済システムなどは
社会インフラに近い存在です。
そのため
- 厳密な設計
- 厳格なテスト
- 長期運用
が前提になります。
開発プロセスがしっかりしている
金融システムでは
ウォーターフォール型の開発が
採用されることも多くあります。
例えば
- 要件定義
- 基本設計
- 詳細設計
- 実装
- テスト
- リリース
という流れです。
開発工程が明確に分かれているため、
- 設計力
- 品質管理
- ドキュメント力
などが求められます。
品質基準がとても高い
金融システムは
障害が許されないシステム
です。
例えば
- ATM
- ネットバンキング
- 決済システム
などは
止まると社会に大きな影響が出ます。
そのため
テスト工程が非常に重視されます。
場合によっては
- 単体テスト
- 結合テスト
- 総合テスト
- 本番リハーサル
など複数段階のテストが行われます。
金融案件のメリット
金融システム開発には
いくつかのメリットもあります。
例えば
① 大規模システム経験
社会インフラに近い
巨大システムに関われる可能性があります。
② 設計力が身につく
厳密な設計プロセスがあるため
設計経験を積むことができます。
③ 長期プロジェクト
数年単位のプロジェクトも多く
安定して働ける環境になることもあります。
一方で難しさもある
もちろん金融開発には
大変な部分もあります。
例えば
- ドキュメントが多い
- ルールが厳しい
- 変更が慎重
などです。
そのため
スタートアップのような
スピード感とは違う文化になります。
IT人材不足と金融システム
現在、日本では
IT人材不足が深刻化しています。
経済産業省の調査では
2030年に最大79万人のIT人材が不足する
と予測されています。
金融システムのような
社会インフラを支える開発では
今後もエンジニアの需要が
高いと考えられています。
Codenceが関わるプロジェクト
私たちは
Java / Spring Boot を中心とした
バックエンド開発プロジェクトに関わっています。
特に
- 金融
- 通信
- EC
といった分野の開発に携わることがあります。
最後に
もし今
- Javaエンジニアとして成長したい
- 大規模システムに関わりたい
- バックエンド開発をやりたい
そんなことを考えている方がいれば
ぜひ一度カジュアルにお話ししましょう。
転職前提ではなくても大丈夫です。
エンジニアとしてのキャリアについて
一緒に考えられたら嬉しいです。