MariaDB
Java Senior Software Engineer
2 нед. назад
СербияSeniorRemote
javaconcurrencysqljvm internalsdockerkubernetesawsjfr
MariaDB, a leading technology company in database management systems, seeks a Java Senior Software Engineer to develop and lead projects on highly scalable, geo-distributed database solutions in a remote role.
About the company
- MariaDB is making a big impact on the world. Whether you’re checking your bank account, buying a coffee, shopping online, making a phone call, listening to music, taking out a loan or ordering takeout – MariaDB is the backbone of applications used everyday.
- Companies small and large, including 75% of the Fortune 500, run MariaDB, touching the lives of billions of people.
- With massive reach through Linux distributions, enterprise deployments and public clouds, MariaDB is uniquely positioned as the leading database for modern application development.
About the product
- You will be responsible for the development and testing of a highly scalable, geo-distributed, highly performant database solution.
- Expect to dig deep into replication, sharding, concurrency, and performance optimization—making our systems faster, smarter, and more resilient.
- You’ll collaborate globally, contribute to open source, and push the limits of what a distributed database can do.
Responsibilities
- Ensure the 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 with tools like JFR, JMC, async-profiler and VisualVM—and your own tricks.
- Keep code clean and reviewable with Git.
- Develop and optimize the data structures for providing the best experience accessing data in high data-intensive scenarios.
- Implement the best way to store data to disk and send data over the network to other nodes (including failure handling and recovery after failures).
- Implement and integrate algorithms for high availability of the whole cluster.
- Investigate flaws in data consistency algorithms, which may require thorough debugging either on multi-node clusters and in low-level byte-represented data.
Requirements
- 4+ years of experience in Java programming.
- Deep knowledge of concurrency in Java and Java Memory Model and/or of concurrency model in other programming systems.
- Excellent Java SE knowledge including IO, JVM internals, etc.
- Experience with SQL databases.
- Experience in troubleshooting Java applications and/or databases.
- Excellent leadership, problem-solving, and debugging skills.
- Experience working effectively in a fast-paced, collaborative environments.
- Deep SQL knowledge (MariaDB/MySQL/PostgreSQL/Apache Ignite/GridGain) and passion for distributed systems (Raft, MVCC, ACID etc).
- Understands MVCC and P2PL, and the difference between Snapshot Isolation and REPEATABLE READ.
Nice to have
- Experience with NoSQL and/or distributed databases.
- Experience with building highload distributed systems and algorithms.
- Experience with Docker, Kubernetes and/or public Cloud (AWS, GCE, Azure, etc.).
- Open-source contributions, automation expertise, or performance/load testing.
- Active use of AI.
Conditions
- A globally distributed team where your work is tangible, valuable and appreciated.
- Remote or Hybrid work options (location dependent)
- Projects that stretch your skills and make an impact at scale.
- Competitive pay, 25 days paid annual leave (plus holidays), and a culture that values creativity and clean engineering.
- MariaDB does not sponsor work visas or relocation.
- MariaDB is committed to providing accommodations for individuals with disabilities within our application and interview process.
How to apply
- If you are interested in this position, please submit your application along with your CV/Resume through our ATS Greenhouse on our MariaDB Careers site.
- MariaDB will not accept agency resumes without a prior contractual agreement with HR.