Responsibilities
- The day-to-day work is quite wide-reaching in the database stack, from low-level (efficient IO systems where every flush and allocation counts) to high (distributed control planes where predictability and stability are vital).
- The work involves building features end to end - from the core database itself to running and maintaining them in our live managed service Aura.
- Apart from features, you’ll also work with support engineers to track down tough bugs, SREs to support our database as a service offering, and with product managers and other teams to design new features.
- You’ll also spend time learning, thinking and experimenting. Specializing in topics that interest you and helping to grow yourself, the team and the product.
Requirements
- Ability to work independently within a flexible software development organization
- Ability to communicate about, and collaborate on, complex topics.
- Experience of distributed systems through usage, administration or development.
- Desire to learn modern and high performance Java programming (or prior knowledge).
- Desire to learn Kubernetes and building operators.
- Desire to work as part of a geographically distributed team.
Nice to Have
- Experience building stateful distributed systems (such as databases, message brokers or stream processing systems)
- Experience working with distributed orchestration systems, such as Kubernetes.
- Experience of distributed systems through usage, administration or development.
- Existing knowledge of Java programming, the Java ecosystem or JVM internals.
- Experience with working on large code bases.