【フルリモート/週5/Java】数百万件の契約を管理する大手保険・共済向け基幹システム(契約・請求管理)のバックエンド開発およびリファクタリング

掲載終了2ヶ月前

【フルリモート/週5/Java】数百万件の契約を管理する大手保険・共済向け基幹システム(契約・請求管理)のバックエンド開発およびリファクタリング

5,600〜6,700/時

作業内容

【フルリモート/週5/Java】数百万件の契約を管理する大手保険・共済向け基幹システム(契約・請求管理)のバックエンド開発およびリファクタリング ### お任せしたいこと [役割]バックエンドエンジニアとして、数百万人の加入者を抱える大手保険会社・共済向けの「契約管理・請求基幹システム」の機能追加、および長年の運用で複雑化したレガシーコードの継続的なリファクタリングをお任せします。 [役割に対して求める成果]新しい保険商品のリリースや法改正に伴う複雑な業務要件(特約の組み合わせ、日割りでの保険料計算など)を、既存の契約データに一切の不整合を起こすことなく安全に実装すること。また、数千行に肥大化したFat Service(業務ロジックの塊)に対し、JUnitでテストを保護しながらドメイン駆動設計(DDD)の概念を取り入れて着実にリファクタリングを進め、システムの保守性を向上させること。 ### 具体的な業務内容 ・Java(Spring Boot)を用いた、契約管理・請求システムのバックエンドWeb APIおよび画面側処理の詳細設計、実装、テスト ・Spring Batch等を利用した、月次の保険料請求データ作成、口座振替結果の取り込み、および未納者への督促バッチ処理の実装・改修 ・「年齢」「契約日」「特約の有無」など、無数の条件分岐が絡み合う複雑な保険料計算ロジックの解きほぐしと、クラス設計の抜本的な見直し ・巨大なRDBMS(OracleまたはPostgreSQL)における、ロック競合の調査や数千万件のデータを処理する際のスロークエリ特定・インデックスチューニング ・JUnitやMockitoを用いた単体テスト・結合テストの拡充による、境界値(日付や金額)のバグやデグレ(回帰バグ)の徹底的な防止 ・カスタマーサポートや事務センターからエスカレーションされた、契約データの不整合やバッチ処理エラーの原因調査、および迅速なデータ補正対応 ・ビジネスサイド(業務企画部門やアクチュアリー等)から提示される複雑な要件定義書を読み解き、システム上の矛盾やエッジケースがないかを検証し、設計に落とし込む業務 ### 必須スキル・経験 ・Javaを用いたWebアプリケーション、またはバックエンドシステムの実務開発経験(3年以上) ・Spring Framework(Spring Boot)を用いた開発経験(2年以上) ・RDBMSを用いたデータベース設計、および複雑なSQL(JOINやサブクエリを含む)の記述・チューニング経験 ・Git/GitHubを用いたプルリクエストベースでのチーム開発経験 ### 歓迎スキル・経験 ・保険、共済、銀行、または証券などの金融機関向け業務システムの開発・運用経験 ・Spring Batch等のフレームワークを利用した、大量データのバッチ処理開発経験 ・ドメイン駆動設計(DDD)、またはオブジェクト指向設計の原則(SOLID原則等)に基づいた実践的な開発経験 ・JUnit等を用いたテストコードの記述、およびテスト駆動開発(TDD)の経験 ・稼働中のレガシーなJavaシステムを、安全にリファクタリングした経験 ・AWS(ECS, RDS, S3等)の基礎知識、またはクラウド環境へのマイグレーション経験 ### 開発・業務環境 開発言語:Java 17 (または 21) フレームワーク:Spring Boot, Spring Batch データベース:PostgreSQL (一部 Oracleからの移行フェーズあり) インフラ:AWS (ECS, RDS, S3等), Docker テスト・CI/CD:JUnit, Mockito, GitLab CI (または GitHub Actions) 監視・ツール:Datadog, GitLab (または GitHub), Jira, Confluence, Slack ### プロジェクトチームについて システム開発部のバックエンドチームへの配属となります。「人々の生活のセーフティネット」である保険システムを扱うため、スピード優先で雑なコードを書くことは許されず、日付の境界値や例外処理が正しく記述されているかを、チーム全員で厳格にコードレビューする極めて堅実なカルチャーです。仕様が複雑なドメインであるため、業務エキスパート(ドメイン有識者)と綿密にコミュニケーションを取りながら、システムのあるべき姿を泥臭く議論して開発を進めます。 ### 求める人物像 ・ゼロからの新規開発の華やかさよりも、既存の巨大なコードベースを読み解き、絶対に計算ミスが許されないシステムを育てていくことに強い責任感を持てる方 ・「とりあえず動くIf文の羅列」ではなく、自分以外の誰かが読んでも意図が伝わりやすい、オブジェクト指向に基づいた保守性の高いコードを書くことにこだわりを持てる方 ・複雑な業務ルール(ドメイン知識)に対してもアレルギーを持たず、自ら仕様書を読み解いてエンジニアリングに落とし込める知的好奇心を持った方 ### 仕事の魅力 数百万人の「万が一」を支える社会インフラとしての重要性が極めて高いシステムであり、1円の計算ミスも許されないというプレッシャーの反面、非常に手触り感と社会的意義の大きなポジションです。複雑なビジネスルールをコードで表現するためのドメインモデリングや、絶対に止めてはならないバッチ処理のパフォーマンスチューニングなど、Javaエンジニアとして最も市場から求められる「堅牢なエンタープライズシステムの設計スキル」を確実なものにすることができます。 ### 働き方 #### リモート環境 **[フルリモート]** 基本的にフルリモートで働いていただけます(※扱うデータに極めて高い機密性があるため、厳格なアクセス制御が施された貸与端末・VDI環境での業務となります)。

稼働条件

週5日 / フルリモート

契約形態

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

開発環境

Java

募集回数

1回

スキル

ビジネスツール・コミュニケーション:

企業名

株式会社Kaizen Tech Agent

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

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

現場責任者の雰囲気

開発体制の詳細

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

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

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

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