EU remote
Senior Java Developer
About this role
ShipMonk isn't just a 3PL — we're the tech-powered growth partner for ecommerce brands, running 12+ owned fulfillment centers across the US, Canada, the UK, and Europe so our merchants can stress less and grow more. Hello , we are ShipMonk and we provide logistics services in the field of order fulfillment. We are operating from our main business in the USA, but Prague is the center of the development of our modern platform.
You can find out more about PD here . The ShipMonk systems are designed as a well-architected PHP modular monolith, that we’re operating in Kubernetes. We intend to transform some subsystems into right-sized services and some of them will be rewritten in Java from scratch. This is why we’re seeking experienced Java Developers who are skilled in designing and implementing advanced REST web applications and data integrations - the core of the monolith is here to stay and the services must integrate smoothly.
About us: Our platform is a solution for the entire process, from the warehousing of goods to the shipping of prepared packages to all corners of the world. We have 1000+ clients, which are small and medium e-shops, mostly in the US In the high season, we’re peaking ~100k orders per day Tech stack: Java 22 Spring ecosystem Docker Kubernetes (AWS EKS) Hibernate PostgreSQL RabbitMQ REST APIs Very high bar for quality Other teams, you’d cooperate with: Customer’s backend: development of the functions of the existing web environment Warehouse: optimization and automation of warehouse processes Internals: refactoring, tech-debt reduction, and legacy code removal Frontend (TypeScript clients in React, E2E) Data Science and Data Engineering (AI, DWH, data-governance, prediction and optimization, business intelligence) QA (acceptance-criteria testing) DevOps / Infrastructure (Kubernetes & CI management) Product owners (Asana & project management) What does it look like here and what are we proud of? The main backend application provides a REST-like API for several types of clients (web, autonomous robots, ios picker devices, microcomputer packers, automatic conveyors, and more).
We have a monorepo for easier CI checks, code sharing, etc. We have all services completely dockerized for local development. We deploy builds to a hosted Kubernetes cluster in AWS with a single click in the Argo CD several times a day. With a single click in the CI, each MR can be deployed on a separate dev cluster for E2E and manual testing, so we don't have to compete with a single shared test environment. We have a strict static-analysis setup with a lot of checks in GitLab CI (Checkstyle, SpotBugs, ErrorProne, NullAway, other linters, security scans, renovate-bot).