Open position at ShipMonk Research & Development
Senior Java Developer
- Work schedule
- Full-time
- Address
- Rohanské nábř. 29, 186 00 Praha 8-Karlín, Česko
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.
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.
The “Java team” is led by Filip Procházka and it’s a mixture of ex-PHP developers and “pure” Java developers, so even if you have a strong background in a different language, if you’re interested in Java, we’d still be thrilled to talk with you.
Tech stack:
- Java 21
- Spring ecosystem
- Docker
- Kubernetes (AWS EKS)
- Hibernate
- PostgreSQL
- 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).
- In addition to the static analysis, we also do two-round code reviews and the functionality is verified by the QA team and E2E Cypress tests.
- We have 10k+ database integration tests with the thoughtful creation of independent datasets for each test - so no shared data that constantly breaks.
- We automate the agreed-upon coding rules, to let the machines do the boring parts.
- We consider concurrency and design the application to withstand race conditions, which is not uncommon in warehousing systems.
- We’re using DataDog, Sentry, and Opsgenie for observability, monitoring, and support.
- Our database has grown to several terabytes, so every SQL has to be optimized.
- Everything runs in HA, with failovers and autoscaling.
- Systems automatically generate documentation of all our APIs from code.
- A lot of experienced colleagues to learn from.
GET THE SH*IT DONE
If you like what we do and you are interested in our "story", we look forward to your resume, profile, story, whatever. There are no limits to creativity. Our Recruiter Dominika will contact you as soon as possible. We hope to be hearing from you soon.