Java Senior Software Engineer
Job description
Senior Java software engineer role at MariaDB to lead development of a highly scalable, geo-distributed database solution, including managing a number of Software Engineers. The role involves deep work on replication, sharding, concurrency and performance optimization.
At a glance
- Employment
- Full-time · Employee (employment agreement)
- Work mode
- Hybrid · Bulgaria
- Pay
- EUR 74,200 – 90,000 / year
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
- 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
- Manage a number of Software Engineers on the project
What we're looking for
- 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 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
Benefits
- 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
Apply
About MariaDB plc
The leading database for modern application development
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 every day. 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.
Key facts
- Database software
- 75% of the Fortune 500 run MariaDB
- Massive reach through Linux distributions, enterprise deployments and public clouds
- Globally distributed team
What they value
- Creativity
- Clean engineering
