Java Senior Software Engineer
Core
Lead development of a highly scalable, geo-distributed, high-performance database solution, focusing on replication, sharding, concurrency, and performance optimization.
Role type
Senior IC Java Software Engineer (Distributed Systems)
Builds
Production database clusters and distributed data systems
Domain
Database systems, Distributed computing, Cloud infrastructure
Deliverable
production ML models | product features
Required skills
Java SE, Concurrency models, JVM internals, SQL databases, Distributed systems algorithms (Raft, MVCC, ACID), Data structures, Network protocols, Failure handling/recovery, Debugging tools (JFR, JMC, async-profiler, VisualVM)
Preferred skills
NoSQL databases, Docker, Kubernetes, Public Cloud (AWS, GCE, Azure), Open-source contributions, Automation, Performance/load testing, AI tools
Technologies
MariaDB, MySQL, PostgreSQL, Apache Ignite, GridGain, Git, Linux
Responsibilities
Ensure scalability, performance, and reliability of the database system; Collaborate with cross-functional teams to define, design, and ship new features; Troubleshoot and resolve complex issues in distributed environments; Profile, debug, and fine-tune performance; Develop and optimize data structures for high data-intensive scenarios; Implement data storage and network transmission mechanisms including failure handling; Implement and integrate algorithms for high availability of the whole cluster; Investigate flaws in data consistency algorithms.
