Open position at ShipMonk Research & Development
Java Developer for ShipMonk MonkProtect
- Work schedule
- Rohanské nábř. 29, 186 00 Praha 8-Karlín, Česko
At ShipMonk, we specialize in logistics services and order fulfillment for small to medium e-shops in the USA. Our modern platform is built by our Research & Development team based in Prague, which processes up to 100,000 orders per day during peak season. With a book of business of over 1,500 clients, we offer an end-to-end solution that covers everything from stocking items to shipping packages worldwide.
Currently, we're looking for a skilled Java Developer to join our R&D Team in Prague. This is an exciting opportunity to work on our latest project, MonkProtect, which lets customers guarantee the safe delivery of their online orders by paying a small additional fee during checkout. With MonkProtect's Automated Claims Portal, customers can quickly and easily resolve any issues if their order becomes lost, damaged, or stolen.
As a Java Developer at ShipMonk, you'll work with a modern tech stack that includes: Java 17+, Spring ecosystem, Docker, Kubernetes (AWS EKS), Hibernate, PostgreSQL, REST APIs, Very high bar for quality
You'll join one of our specialized teams:
- Warehouse: optimize and automate warehouse processes
- Internals: refactor legacy code, reduce tech debt, and remove outdated code
- Customer Features: develop functions for our existing web environment
- Frontend: build TypeScript clients in React and conduct end-to-end testing
- Data Science: work on AI, data warehousing, data governance, prediction and optimization, and business intelligence
- QA: ensure acceptance criteria testing is met
- DevOps: manage infrastructure, Kubernetes, CI/CD processes, and Cloud platform management
- Technical Product Managers: handle 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 8k+ 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.
If our story interests you and you have the necessary skills and experience, we'd love to hear from you! Get in touch with our Recruiter, Dominika, by submitting your resume, profile, or anything else that showcases your creativity. We can't wait to hear from you!