【フルリモート/週5/Java】数千万口座を支えるネット銀行のコアシステム開発およびマイクロサービス化推進

案件要件
- 職種
- エンジニア
- 業務内容
- システム開発・運用SES
- 報酬目安
- 4,600 ~ 5,700円/時
- 稼働時間目安
- 週5日 (時間目安 160時間)
- はたらく場所
- フルリモート
- スキル
【フルリモート/週5/Java】数千万口座を支えるネット銀行のコアシステム開発およびマイクロサービス化推進
お任せしたいこと
[役割]バックエンドエンジニアとして、数千万人のユーザーが日常的な決済や振り込みに利用する「ネット銀行のコアシステム(勘定系・情報系基盤)」の機能追加、およびレガシーなモノリス(一枚岩)システムからのマイクロサービスへの移行をお任せします。
[役割に対して求める成果]新しい金融商品(外貨預金、ローン等)のリリースや外部決済サービスとの連携を、既存の口座残高やトランザクションに一切の不整合を生じさせることなく安全に実装すること。また、長年の増改築で肥大化し、リリースサイクルが鈍化している巨大なJavaアプリケーションに対し、ストラングラーフィグパターン等を用いて業務を止めずに段階的なマイクロサービス化(Spring Boot化)を推進し、開発組織全体の生産性を向上させること。
具体的な業務内容
・Java(Spring Boot)を用いた、勘定系システムおよび周辺APIの詳細設計、実装、テスト
・巨大なモノリスアプリケーションのドメイン境界(コンテキスト境界)を見直し、独立したマイクロサービスへの切り出しとリファクタリング
・サービス間の非同期通信における、Apache Kafka(またはRabbitMQ)を利用したイベント駆動アーキテクチャの設計・実装
・分散システム特有の課題(分散トランザクション、結果整合性の担保、Sagaパターンの実装等)に対するアーキテクチャ検討とコードに落とし込む作業
・gRPCやREST APIを利用した、セキュアでハイパフォーマンスな内部APIのインターフェース設計
・JVMのチューニング(GCログの分析など)、および高トラフィック環境下におけるスロークエリ・ボトルネックの特定と解消
・JUnitやMockitoを用いた徹底的な自動テストの実装と、テストカバレッジの継続的な向上
・DatadogやSplunk等を用いた分散トレーシングの運用、および障害発生時の迅速なログ追跡と原因究明
必須スキル・経験
・Javaを用いたWebアプリケーション、またはバックエンドシステムの実務開発経験(3年以上)
・Spring Framework(Spring Boot)を用いた開発経験(2年以上)
・RDBMSを用いたデータベース設計、および複雑なSQLの記述・チューニング経験
・Git/GitHubを用いたプルリクエストベースでのチーム開発経験
歓迎スキル・経験
・モノリシックなシステムからマイクロサービスアーキテクチャへの移行(リプレイス)経験
・Apache Kafka、RabbitMQ等のメッセージブローカーを利用した非同期処理の開発経験
・gRPC、またはGraphQLを用いたAPI開発経験
・銀行、決済、仮想通貨取引所など、金融ドメインにおけるミッションクリティカルなシステム開発経験
・JVMのパフォーマンスチューニング、およびメモリリーク等のトラブルシューティング経験
・AWS(EKS, RDS, MSK等)、またはGCPを利用したクラウドネイティブ環境での開発経験
・Docker、Kubernetesを用いたコンテナオーケストレーションの基礎知識
開発・業務環境
開発言語:Java 21 (一部移行中のJava 11あり)
フレームワーク:Spring Boot
データベース・KVS:PostgreSQL, Redis
メッセージング・通信:Apache Kafka, gRPC, REST
インフラ:AWS (EKS, RDS, MSK, S3等), Docker, Kubernetes
テスト・CI/CD:JUnit, Mockito, GitHub Actions
監視・ツール:Datadog, Splunk, GitHub, Jira, Confluence, Slack
プロジェクトチームについて
システム開発部のバックエンドチームへの配属となります。ネット銀行のコアシステムという性質上、「速く作ること」よりも「絶対に口座残高の不整合を起こさないこと」「システムを止めないこと」が最優先される非常に厳格なカルチャーです。分散システムにおける「リトライ処理」や「冪等性(何度実行しても結果が同じになること)」がコードレベルで担保されているか、またネットワーク分断時のフォールバック処理が適切かを、シニアエンジニアを含めたチーム全員で念入りにレビューし合います。
求める人物像
・「すべてを最新技術で書き直したい」という理想論ではなく、現在稼働しているレガシーコードの仕様を泥臭く読み解き、安全な移行計画を立てて実行することに知的な喜びを感じる方
・APIが失敗した際の再実行処理(リトライ)や、トランザクションの補償処理(ロールバック)など、ハッピーパス以外の「異常系」の設計にこだわりを持てる方
・複雑な金融ドメインの業務知識を自らキャッチアップし、他チームや業務部門と円滑にコミュニケーションを取りながらドメイン境界を定義できる方
仕事の魅力
「お金」という社会の血液を24時間365日動かし続ける、極めて高い可用性が求められる環境です。Javaエンジニアとして最高難易度と言える「大規模モノリスからマイクロサービスへの安全な移行」や「イベント駆動アーキテクチャの構築」といった実践的な課題に最前線で取り組むことができ、クラウドネイティブ時代のエンタープライズJavaエンジニアとして圧倒的な市場価値を獲得することができます。
働き方
リモート環境
[フルリモート] 基本的にフルリモートで働いていただけます(※扱うデータに極めて高い機密性があるため、厳格なアクセス制御が施された貸与端末・VDI環境での業務となります。また、大規模なシステム移行の夜間・休日作業が発生する場合は、オンラインで密な連携をとる体制となります)。
株式会社Kaizen Tech Agent
株式会社Kaizen Tech Agentは、「人と技術をつなぐ」ことを企業理念に掲げ、日々向上していく『技術』と『人』を最適な形でむつび付け提供することで、
お客様にとって真にプラスとなる価値でありたいと考えております。
私たちはそれぞれの個性を尊重し、ほっとする和みの社風でありながら、変化する時代に対して受け身にならず、未来への挑戦心を宿しています。
事業領域は、WEBアプリ開発、業務システム開発、スマホアプリ開発、インフラ構築など幅広く展開しており、
フリーランス様に対して最適な案件をご提案させて頂いております。どんな些細な事でも結構ですので是非いつでもお気軽にご相談ください。
