About Company:
Piano’s Digital Revenue Optimization solution helps digital services grow revenue by betterunderstanding and influencing their customers’ behavior. Piano unifies analytics, segmentation, andcommercial personalization in one AI-driven application, enabling sites and apps to efficientlymaximize the value of every user visit. Headquartered in Amsterdam with offices in the Americas,Europe, and Asia-Pacific, Piano serves a global client base including the BBC, Deutsche Telekom,Nikkei, AXA and the Wall Street Journal. For more information, visit piano.io.
About the project:
You’ll join a team working on a high-complexity system in the billing & subscription managementdomain. The platform uses a hybrid architecture (monolith + selected microservices) and a hybridtechnology stack, requiring strong engineering judgment around consistency, correctness, reliability,and scalability. Critical domain: billing cycles, and subscription lifecycles across multiple payment providers.
Precision and data integrity are non-negotiable. Distributed architecture: event-driven patterns (Kafka), Outbox patterns, and distributedcoordination (Redis/Redisson distributed locks). Hybrid ecosystem: mix of Spring Boot + Jersey + Guice, split between Java 21 and Kotlin2.0. Scale & resilience: resilience patterns (Resilience4j), observability (Datadog/OpenTelemetry),and scheduling (Quartz).
What you’ll do: Collaborate with technical leaders and architects to efficiently deliver new functionalities in acomplex domain. Plan, design, and implement new features with a strong focus on reliability, consistency, andmaintainability. Solve production problems before they affect customer experience (root-cause analysis,mitigation, and long-term fixes). Contribute to engineering: testing strategy, performance, observability, and operationalreadiness.
Expected qualifications: 5+ years of experience as a Java Developer (enterprise systems preferred). Strong proficiency in Java (up to v21) and plus would be a solid experience with Kotlin. Experience with Spring Boot (2.7+) / Spring Framework. Good level of understanding of SQL (MySQL 8) and ORM (Hibernate), including: transactionisolation and locking strategies; performance tuning Hands-on distributed systems experience: Kafka (event design, consumer reliability,exactly/at-least-once thinking); Redis / Redisson (distributed locks, concurrency handling);designing for eventual consistency, idempotency, and failure scenarios Strong automated testing culture: JUnit 5, Mockito, Testcontainers Polish, English (B2)Nice to have: Cloud/infra: Basic understanding of AWS, Docker/Docker Compose. Observability: Datadog, OpenTelemetry, distributed tracing/metrics-first mindset. Payments: experience integrating Stripe Computer Science degree Selenium experienceCurrent Tech stack: Languages: Java 21, Kotlin2.0 Frameworks: Spring Boot, Guice, Jersey (JAX-RS) Data: MySQL 8.0, Redis (Redisson), Hibernate 5.6, DynamoDB Messaging: Apache Kafka Resilience / Scheduling: Resilience4j Observability: Datadog, OpenTelemetry Build: Gradle (KotlinDSL) Infrastructure: Docker, AWS, Kubernetes