【フルリモート/週5/Java】「止まらない金融」を実現する、次世代クラウドネイティブ・コアバンキング基盤のバックエンドアーキテクト お任せしたいこと [役割]バックエンドエンジニアとして、長年ブラックボックス化してきた旧態依然としたレガシーな銀行の勘定系システム(メインフレーム)を打破し、あらゆる企業が金融機能を組み込めるBaaS(Banking-as-a-Service)を提供する次世代クラウドネイティブ・コアバンキング基盤のコア開発をお任せします。 [役割に対して求める成果]「絶対に止まらない、1円のズレも許されない」という金融システムにおける極限の可用性と一貫性(ACID特性)を満たしながらも、レガシーシステム特有の「変更のしづらさ」を排除すること。JavaとSpring Bootを用いたマイクロサービス・アーキテクチャにより、アジリティと圧倒的な堅牢性を両立させたミッションクリティカルなトランザクションエンジンを実現すること。 具体的な業務内容 ・Java(Java 21)およびSpring Boot 3を用いた、口座管理、為替、送金、決済等のコアバンキングAPI(RESTful / gRPC)の詳細設計、実装、テスト ・Apache Kafkaを用いたイベントソーシング(Event Sourcing)とCQRS(コマンドクエリ責務分離)パターンによる、高スループットな分散台帳・トランザクション処理の実装 ・Sagaパターンを活用した、複数マイクロサービス間にまたがる複雑な分散トランザクションの厳格な結果整合性の担保と、ロールバック(補償トランザクション)ロジックの構築 ・Amazon Aurora(PostgreSQL)を用いた厳密な排他制御(悲観的/楽観的ロック)と、RDBMSの限界を引き出す複雑なクエリチューニング ・ドメイン駆動設計(DDD)に基づいた、複雑怪奇な金融業務ルール(利息計算、手数料計算、アンチマネーロンダリング等)の美しく保守性の高いオブジェクト指向モデリング ・TestcontainersやJUnit 5を活用した、カバレッジ100%を目指す網羅的なテスト駆動開発(TDD)の徹底と、Chaos Mesh等を用いたカオスエンジニアリング(障害注入テスト)による耐障害性の検証 必須スキル・経験 ・Javaを用いたWebアプリケーションのサーバーサイド開発経験(3年以上) ・Spring Framework(Spring Boot)を用いた実務経験(2年以上) ・RDBMSを用いた複雑なデータベース設計、厳格なトランザクション管理、およびSQLチューニングの経験 ・Git/GitHubを用いたチーム開発およびPull Requestベースのコードレビュー経験 歓迎スキル・経験 ・決済システム、コアバンキング、証券システム等、ミッションクリティカルな金融システムの開発経験 ・ドメイン駆動設計(DDD)、クリーンアーキテクチャに関する深い知見および実践経験 ・マイクロサービスアーキテクチャの設計、およびSagaパターン等を用いた分散トランザクションの実装経験 ・イベント駆動型アーキテクチャ(Kafka, RabbitMQ等)やCQRSパターンの実装経験 ・PCI-DSS等の厳格なセキュリティ・コンプライアンス要件下でのシステム設計経験 ・AWS環境(EKS, ECS, Aurora, MSK等)でのコンテナ技術(Docker/Kubernetes)を利用したインフラ運用経験 開発環境 言語・フレームワーク:Java 21, Spring Boot 3, JUnit 5, gRPC, Testcontainers インフラ・ミドルウェア:AWS (EKS, Aurora PostgreSQL, MSK, ElastiCache), Docker, Kubernetes, Apache Kafka, Redis アーキテクチャ設計:DDD (Domain-Driven Design), Microservices, CQRS, Event Sourcing CI/CD・ツール:GitHub, GitHub Actions, Datadog (APM / ログ), Terraform, Jira, Confluence, Slack 開発チームについて プロダクトマネージャー1名、テックリード1名、金融ドメインエキスパート2名、バックエンドエンジニア8名(今回募集枠含む)、SRE3名の体制です。「金融システム=古い、重い」という常識に真っ向から挑み、モダンなJavaエコシステムを使って「銀行システムそのもの」を再構築する壮大なプロジェクトです。1円の不整合も許されないプレッシャーの中で、アーキテクチャの美しさとスケーラビリティについて、チーム全員で妥協のない議論を交わすプロフェッショナルなカルチャーです。 求める人物像 ・「お金を扱うシステム」の社会的責任の重さを深く理解し、あらゆるエッジケースや障害シナリオを想定した防御的プログラミング(Design for Failure)を徹底できる方 ・複雑に絡み合った既存の業務仕様を解きほぐし、DDDを用いて洗練されたドメインモデルへと昇華させる「モデリングのパズル」に知的な喜びを感じる方 ・フルリモート環境下において、金融ドメインの専門家やSREとも自発的かつ円滑にテキストや通話でコミュニケーションが取れる方 仕事の魅力 社会の血液である「金融インフラ」を、自らの書いたコードでモダンに生まれ変わらせるという、ソフトウェアエンジニアにとって最高峰のミッションに挑むポジションです。極めて難易度の高い「分散トランザクション」と「イベントソーシング」をJavaで極める経験を積むことで、エンタープライズ領域における国内トップクラスのバックエンド・アーキテクトとして、圧倒的な希少性と市場価値を獲得することができます。 働き方 リモート環境 [フルリモート] フルリモートで働いていただけます。