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

掲載終了2ヶ月前

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

4,600〜5,700/時

作業内容

【フルリモート/週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環境での業務となります。また、大規模なシステム移行の夜間・休日作業が発生する場合は、オンラインで密な連携をとる体制となります)。

稼働条件

週5日 / フルリモート

契約形態

業務委託(フリーランス)

開発環境

Java

募集回数

1回

スキル

フロントエンド:
ビジネスツール・コミュニケーション:

企業名

株式会社Kaizen Tech Agent

サービス/プロジェクト名

詳細スケジュール/リリース時期

現場責任者の雰囲気

開発体制の詳細

詳細は面談でお伝えします。ご相談ください。

一部の情報は非公開の場合があります

案件について詳しく聞いてみませんか?

知りたい内容を選んでください(複数選択可)