Cssmerge Senior Backend Software Engineer responsible for designing, building, and maintaining Java backend services for restaurant point-of-sale systems. Focuses on order lifecycle, payments, device synchronization, and restaurant workflows.
Responsibilities
At Otter POS, we build the backend that keeps restaurant point-of-sale running: orders, payments, menus, and device state across Android tablets in the kitchen and at the counter. Those services have to stay consistent when WiFi drops mid-service.
As a backend engineer on this team, you will design and scale the services behind order orchestration, payment flows, offline-first sync, and multi-device coordination. We want product-minded or systems-focused backend engineers. You do not need prior POS experience. If you like distributed systems, careful API design, and reliability work under real restaurant conditions, you will fit here.
Core responsibilities
Design, build, and maintain Java backend services for order lifecycle, payments, device sync, and restaurant workflows.
Design and optimize APIs and event-driven systems so POS devices, kitchen displays, and cloud services stay consistent with low latency.
Build systems that keep working offline and sync across multiple devices in a facility.
Work with Android engineers, product managers, and other teams to ship systems used in live restaurants.
Keep code quality high through testing, code reviews, observability, and owning what you ship in production.
Qualification
Required
Bachelor’s degree in Computer Science or equivalent experience is required.
3+ years of professional software engineering experience.
Deep understanding of backend system design, APIs, data stores, microservices, concurrency, and distributed systems.
Our stack heavily utilizes Java and Kotlin, but we care more about your engineering fundamentals than the specific languages you've used.
Experience with relational and/or NoSQL databases (e.g., PostgreSQL, CockroachDB, Redis).
Experience with cloud platforms like AWS, Google Cloud, or Azure.
Preferred
Experience with event streaming or stream processing (e.g., Kafka, Flink).
Experience building systems that handle ordering states, payment flows, or multi-device coordination.
Familiarity with offline-first architectures, sync protocols, or conflict resolution (CRDTs a plus).
Comfort working with mobile and client engineers, including how backend choices affect reliability on the device.
Interest in building systems that restaurant operators and staff use every day.