【フルリモート/週5/Java】24時間365日稼働する全国規模の物流・倉庫管理システム(WMS)のバックエンド開発およびモダナイゼーション
作業内容
【フルリモート/週5/Java】24時間365日稼働する全国規模の物流・倉庫管理システム(WMS)のバックエンド開発およびモダナイゼーション ### お任せしたいこと [役割]バックエンドエンジニアとして、全国数百拠点の巨大な物流センターを支える「倉庫管理システム(WMS)」の機能追加、およびレガシーコードの継続的なリファクタリングをお任せします。 [役割に対して求める成果]「システムが止まれば、全国のトラックが止まり、人々の生活インフラが停止する」というミッションクリティカルな環境において、複雑な在庫引き当てロジックや出荷指示機能をバグなく安全に実装すること。また、長年の増改築によって肥大化した数千行に及ぶサービスクラス(技術的負債)に対し、JUnitでテストを保護しながらドメイン駆動設計(DDD)の概念を取り入れて着実にリファクタリングを進め、システムの保守性を劇的に改善すること。 ### 具体的な業務内容 ・Java(Spring Boot)を用いた、WMS(倉庫管理システム)および周辺APIの詳細設計、実装、テスト ・倉庫内のハンディターミナル(バーコードリーダー)や、自動搬送ロボット(AGV)等のハードウェアと連携する非同期APIの開発 ・セール時や繁忙期に集中する膨大な出荷トランザクションに耐えうる、データベース(PostgreSQL)の悲観的ロック/楽観的ロックの適切な制御とスロークエリのチューニング ・数年にわたり運用され、仕様書と乖離してしまった既存のビジネスロジック(Fat Controller / Fat Service)の解きほぐしと、クラス設計の抜本的な見直し ・JUnitやMockitoを用いた単体テスト・結合テストの拡充による、デグレ(回帰バグ)の徹底的な防止 ・カスタマーサポートや物流現場からエスカレーションされた、在庫の不整合や出荷遅延に関するデータ調査、および迅速な原因究明と修正 ・AWS上のインフラ(ECS等)における、Datadog等を利用したログ調査およびエラー検知時の一次対応 ### 必須スキル・経験 ・Javaを用いたWebアプリケーション、またはバックエンドシステムの実務開発経験(3年以上) ・Spring Framework(Spring Boot)を用いた開発経験(2年以上) ・RDBMS(PostgreSQL, Oracle, MySQL等)を用いたデータベース設計、および高度なSQLの記述・チューニング経験 ・Git/GitHubを用いたプルリクエストベースでのチーム開発経験 ### 歓迎スキル・経験 ・物流(WMS、TMS)、サプライチェーン、またはECバックヤードなどの業務システムの開発・運用経験 ・ドメイン駆動設計(DDD)、またはクリーンアーキテクチャを用いた実装経験 ・JUnit等を用いたテストコードの記述、およびテスト駆動開発(TDD)の経験 ・稼働中の巨大なレガシーシステム(数百万行規模)を、安全にリファクタリングした経験 ・Spring Batch等を利用した大規模なバッチ処理開発経験 ・AWS(ECS, RDS, S3等)の基礎知識、またはクラウド環境での運用経験 ### 開発・業務環境 開発言語:Java 21 (一部移行中のJava 11/17あり) フレームワーク:Spring Boot, Spring Batch, MyBatis (または JPA) データベース:PostgreSQL, Redis インフラ:AWS (ECS Fargate, RDS, S3等), Docker テスト・CI/CD:JUnit, Mockito, GitHub Actions 監視・ツール:Datadog, GitHub, Jira, Confluence, Slack ### プロジェクトチームについて システム開発部のバックエンド(WMS)チームへの配属となります。「モノが物理的に動く」という物流ドメインの性質上、バーチャルな世界だけで完結せず、現場のオペレーション(作業員の動線やピッキングの順序など)を深く理解しようとする泥臭く実直なカルチャーです。仕様変更があった際も「とりあえず動くコード」で済ませることは決して許されず、トランザクションの境界や例外処理が正しく記述されているかを、チーム全員で厳格にコードレビューする体制が整っています。 ### 求める人物像 ・ゼロからの新規開発の華やかさよりも、既存の巨大なコードベースを読み解き、日本の物流インフラという「絶対に止まらないシステム」を育てていくことに強い責任感とやりがいを感じる方 ・「オブジェクト指向」の原則に基づき、自分以外の誰か(未来の自分やチームメンバー)が読んでも意図が伝わりやすい、保守性の高いコードを書くことにこだわりを持てる方 ・現場の運用エキスパートなど、非エンジニアのステークホルダーに対しても、複雑なシステム仕様や制約を論理的かつ丁寧に説明できる方 ### 仕事の魅力 EC市場の拡大に伴い、社会インフラとしての重要性が極めて高まっている「物流」の心臓部をシステム面から支える、非常に手触り感と社会的意義の大きなポジションです。複数ユーザーからの同時アクセスにおける複雑な排他制御(トランザクション管理)や、数千行のレガシーコードに対する実践的なリファクタリングなど、Javaエンジニアとして最も市場から求められる「堅牢なエンタープライズシステムの設計・改修スキル」を確実なものにすることができます。 ### 働き方 #### リモート環境 **[フルリモート]** 基本的にフルリモートで働いていただけます(※新機能のリリース後など、現場のオペレーションやハードウェア連携の実機テストを確認するため、稀に全国の主要な物流センターへ出張していただく場合があります)。
稼働条件
週5日 / フルリモート
契約形態
業務委託(フリーランス)
開発環境
Java
募集回数
1回
職種・ポジション
スキル
企業名
株式会社Kaizen Tech Agent
サービス/プロジェクト名
詳細スケジュール/リリース時期
現場責任者の雰囲気
開発体制の詳細
詳細は面談でお伝えします。ご相談ください。
一部の情報は非公開の場合があります
案件について詳しく聞いてみませんか?
知りたい内容を選んでください(複数選択可)
