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
View details
Apply Now