Java Senior Software Engineer
Core
Lead the development and testing of a highly scalable, geo-distributed, high-performance database solution, managing a team of software engineers.
Role type
Senior IC Java Software Engineer (Team Lead)
Builds
A geo-distributed database system for modern application development
Domain
Database systems, distributed computing, cloud infrastructure
Required skills
Java (SE, concurrency, JVM internals), SQL databases, distributed systems algorithms (Raft, MVCC, ACID), performance optimization, debugging, team leadership
Preferred skills
NoSQL, Docker, Kubernetes, public cloud (AWS, GCE, Azure), open-source contributions, automation, performance/load testing
Technologies
Java, Git, JFR, JMC, async-profiler, VisualVM, MariaDB, MySQL, PostgreSQL, Apache Ignite, GridGain, Docker, Kubernetes, AWS, GCE, Azure
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
Seniority
Senior, hands-on IC with leadership responsibilities
