
About Canonical
Empowering the world with open-source software
Key Highlights
- Developers of Ubuntu, used by millions globally
- Headquartered in London with a remote-first policy
- Serves enterprise clients like Google and Microsoft
- Privately held with significant funding from various investors
Canonical Ltd., headquartered in London, is the driving force behind Ubuntu, one of the world's most popular open-source operating systems. With a focus on cloud computing, IoT, and container orchestration, Canonical serves a diverse range of clients, including major enterprises like Google and Micr...
🎁 Benefits
Canonical offers competitive salaries, equity options, generous PTO policies, and a remote-first work environment, allowing employees to work from any...
🌟 Culture
Canonical promotes a remote-friendly culture that values open-source contributions and encourages innovation. The company emphasizes transparency and ...
Overview
Canonical is hiring a Software Engineer to work on dqlite, a Raft extension for SQLite. You'll design and implement enhancements to the libraft and dqlite components using C and Go. This position requires experience in software development and distributed systems.
Job Description
Who you are
You have a strong background in software development, particularly with C and Go, and are excited about working on distributed systems. Your experience includes designing and implementing enhancements to libraries and components, and you are comfortable responding to user inquiries and issues. You thrive in a collaborative environment and are eager to contribute to open source projects that have a meaningful impact on modern computing technologies.
You understand the principles of consensus and replication, and you have a keen interest in database technologies. Your ability to think critically and solve complex problems will be essential as you work on dqlite, our distributed SQLite database. You are also open to learning new skills and technologies, as we plan to provide bindings for additional languages like Python.
What you'll do
In this role, you will focus on designing and implementing enhancements to the libraft, dqlite, and go-dqlite components. Your work will directly contribute to projects like MicroK8s and LXD, where you will help improve the functionality and performance of our distributed database solutions. You will collaborate with a diverse team of engineers, participating in discussions about strategy and execution during our periodic in-person meetings.
You will also be responsible for addressing user inquiries and issues, ensuring that our software meets the needs of our customers. Your contributions will help shape the future of our open source offerings, and you will have the opportunity to learn and grow within a supportive team environment.
What we offer
Canonical provides a fast-paced team environment where you can develop your skills and advance your career. We are committed to fostering a workplace free from discrimination and value diversity of experience, perspectives, and backgrounds. You will have the chance to work remotely from anywhere in the EMEA region, with occasional opportunities to meet your colleagues in person in interesting locations around the world. We encourage you to apply even if your experience doesn't match every requirement, as we believe in the potential of every candidate.
Interested in this role?
Apply now or save it for later. Get alerts for similar jobs at Canonical.
Similar Jobs You Might Like
Based on your interests and this role

Software Engineering
Canonical is hiring a Software Engineer for their Data Infrastructure team to develop automation solutions for multi-cloud and on-premise data platforms. You'll work with Python and various data technologies, focusing on fault-tolerant distributed systems. This role is suitable for candidates at junior to senior levels.

Software Engineering
Canonical is hiring a Software Engineer - Industrial IoT to design and implement applications for IoT devices and gateways. You'll work with Linux, Go, and C++ to develop secure and customizable edge solutions. This position requires at least 3 years of professional software development experience.

Software Engineering
Canonical is hiring a Software Engineer to join their Kubernetes product team. You'll be responsible for building operators and addons, working with Python, Golang, and Kubernetes. This role requires a passion for open source software and Linux.

Software Engineering
Canonical is hiring a Linux Devices Software Engineer to work on mission-critical Golang code focused on software delivery, containers, and security sandboxing. You'll contribute to the SnapD team, ensuring robust software packaging for Linux across various devices.

Data Engineer
Canonical is hiring an IoT Data Engineer to develop cutting-edge telemetry and connectivity solutions for IoT devices. You'll work with open source software and Linux to enhance global SaaS services. This position requires a passion for technology and experience in data services.