Lead development of a highly scalable, geo-distributed, high-performance database solution. Work on replication, sharding, concurrency, and performance optimization, contributing to open source alongside a global team.

Responsibilities:

  • Ensure database scalability, performance, and reliability.
  • Collaborate with cross-functional teams to design and deliver features.
  • Troubleshoot complex issues in distributed environments and profile, debug, and optimize performance.
  • Develop data structures and optimize data storage, network communication, failure handling, and recovery.
  • Implement high-availability algorithms and investigate data consistency issues.
  • Review code and manage Software Engineers on the project.

Requirements:

  • 4+ years of Java programming experience.
  • Deep knowledge of Java concurrency and the Java Memory Model; excellent Java SE knowledge, including I/O and JVM internals.
  • Experience with SQL databases and troubleshooting Java applications or databases.
  • Strong SQL knowledge and familiarity with distributed systems concepts including Raft, MVCC, ACID, P2PL, Snapshot Isolation, and REPEATABLE READ.
  • Strong leadership, problem-solving, and debugging skills.

Nice to have: NoSQL or distributed database experience; high-load distributed systems and algorithms; Docker, Kubernetes, or public cloud experience; open-source contributions; automation or performance/load testing expertise; active use of AI.

Conditions: Remote or hybrid work depending on location; globally distributed team; competitive pay; 25 days of paid annual leave plus holidays.