Canonical, the company behind Ubuntu, is seeking a software developer to work on dqlite, their distributed SQLite database that uses a custom Raft library for consensus and replication. This role combines low-level systems programming with distributed systems expertise, focusing on both C and Go development. The position offers the opportunity to work on fundamental computing technologies used in projects like MicroK8s and LXD.
The role involves designing and implementing features, debugging issues, improving testing infrastructure, and engaging with both the open source community and commercial partners. The ideal candidate should have strong experience with distributed systems (particularly Raft), C programming, and asynchronous programming patterns.
As a remote-first company since 2004, Canonical offers a modern work environment with twice-yearly in-person team sprints. The company provides comprehensive benefits including a personal development budget, annual compensation reviews, and various travel opportunities. This position represents an excellent opportunity to impact modern computing while working with a global team at the forefront of open source technology.
The role requires a blend of technical expertise and communication skills, as you'll be working with both code and community. Canonical's commitment to excellence and innovation makes this an ideal position for someone looking to advance their career in distributed systems and database technology while contributing to significant open source projects.