Senior Software Developer
New
J
JetBrainsSoftware Development
Belgrade, Serbia; Berlin, Germany; Limassol, Cyprus; Madrid, Spain; Munich, Germany; Paphos, Cyprus; Prague, Czech Republic; Remote, Germany; Warsaw, Poland; Yerevan, ArmeniaFull-TimeSenior
Salary not disclosed
Apply NowOpens the employer's application page
Job Details
- Languages
- English
- Required Skills
- PostgreSQLSQLJavaJVMKafkaKotlinDistributed Systems
Requirements
- Proven track record of building and operating backend services on the JVM platform using Kotlin or Java.
- Solid working knowledge of relational databases, including transactions, isolation levels, locking, indexing, and live schema migrations (PostgreSQL preferred).
- Deep understanding of distributed systems patterns, such as idempotency, retry strategies, eventual consistency, and data reconciliation.
- Practical experience making live data migrations or system changes without downtime using feature flags and staged rollouts.
- Experience designing versioned, backward-compatible APIs for other engineering teams.
- Hands-on experience with event-driven architectures and message brokers like Kafka.
- Ability to diagnose, debug, and resolve production incidents in complex environments.
- Proficiency in both written and spoken English.
- Dedication to accuracy in domains with financial impact.
- Ability to navigate and simplify large existing codebases.
Responsibilities
- Design, build, and operate backend services that decide what a customer is entitled to and what their usage costs.
- Own flows end to end, from ingesting licensing and purchase data from upstream systems to enforcing quotas and recording consumption.
- Evolve our domain model to handle new commercial structures, combining seat-based plans and usage-based models.
- Design integrations with external systems, ensuring correctness through idempotency, ordering, reconciliation, and eventual consistency.
- Plan and execute live data migrations using feature flags, dual writes, backfills, and verification at every stage.
- Build observability into our systems by defining invariants, metrics, and alerts to catch silent divergence.
- Design internal APIs with focus on versioning, backward compatibility, and developer experience.
- Improve system performance and reliability under production load while decommissioning legacy subsystems.
View Full Description & ApplyYou'll be redirected to the employer's site