Java Senior Software Engineer

Contract type
Ongoing
Work mode
Hybrid · Bulgaria
Experience
Mid-level · 4+ years

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