The RoleYou will be responsible for the development and testing of a highly scalable, geo-distributed, highly performant database solution. You should have experience working on distributed software solutions and have a strong background working with on-premise and cloud-based solutions. You will also be responsible for managing a number of Software Engineers on the project.
Java Senior Software EngineerHere at MariaDB we are seeking a highly motivated and experienced
Java Senior Software Engineer to lead the development of our highly scalable, geo-distributed, and highly performant database solution. This role requires a strong background in distributed software solutions, experience with both on-premise and cloud-based environments, and proven leadership abilities. You'll be joining a small, highly skilled team where your work will have a direct impact. 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.
What You'll Do- 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.
What You Bring- 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.
The following may be a strong plus:- 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.
LocationRemote - Georgia, Croatia, Estonia, Finland, Italy, Poland, Romania, Serbia, Spain, Armenia, Cyprus.
Why You'll Love It Here- 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.
CompensationSalary Range: €74,200.00 - €100,400.00 per year (gross)
Please note: The starting salary offered will be commensurate with the candidate's skills, qualifications, and relevant experience, in alignment with our gender-neutral compensation framework.
How to ApplyIf you are interested in this position, please submit your application along with your CV/Resume through our ATS Greenhouse on our MariaDB Careers site.