Taro Logo

Software Developer - Dqlite

Canonical is a pioneering tech firm at the forefront of the global move to open source, publishing Ubuntu, one of the most important open source projects and the platform for AI, IoT and the cloud.
Backend
Mid-Level Software Engineer
Remote
AI · Enterprise SaaS
This job posting may no longer be active. You may be interested in these related jobs instead:

Description For Software Developer - Dqlite

We are hiring a software developer to focus on dqlite, our distributed SQLite database which uses our own Raft library for establishing consensus and replication. Dqlite is available as a pure C library or through a Go package that we also maintain, and we intend to provide bindings for Python and other languages.

You will design and implement enhancements to the libraft, dqlite and go-dqlite components which we consume in MicroK8s, LXD and other projects. Work includes development in those pieces of software as well as responding to issues and user inquiries.

Key responsibilities:

  • Design and implement features across dqlite
  • Debug and fix issues encountered by users
  • Improve Jepsen tests, traditional HA database automated testing and stress tests
  • Participate in engineering process through code and architectural review
  • Engage with the open source community and commercial partners

Requirements:

  • Experience with distributed systems (preferably with Raft)
  • Good C programming experience
  • Solid understanding of asynchronous programming and concurrency patterns (a plus)
  • Capacity to learn quickly about new systems and techniques
  • Strong written and verbal communication skills
  • Bachelor's or equivalent in Computer Science, STEM or similar degree

Canonical offers a fast-paced team environment and a career full of learning and development opportunities. This is a remote position available in EMEA. Benefits include a distributed work environment with twice-yearly team sprints in person, personal learning and development budget, annual compensation review, recognition rewards, annual holiday leave, maternity and paternity leave, Employee Assistance Programme, opportunity to travel, and more.

Canonical is an equal opportunity employer fostering a workplace free from discrimination, valuing diversity of experience, perspectives, and background.

Last updated 8 months ago

Responsibilities For Software Developer - Dqlite

  • Design and implement features across dqlite
  • Debug and fix issues encountered by users
  • Improve Jepsen tests, traditional HA database automated testing and stress tests
  • Participate in engineering process through code and architectural review
  • Engage with the open source community and commercial partners

Requirements For Software Developer - Dqlite

Go
Python
  • Experience with distributed systems (preferably with Raft)
  • Good C programming experience
  • Solid understanding of asynchronous programming and concurrency patterns (a plus)
  • Capacity to learn quickly about new systems and techniques
  • Strong written and verbal communication skills
  • Bachelor's or equivalent in Computer Science, STEM or similar degree

Benefits For Software Developer - Dqlite

Education Budget
  • Distributed work environment with twice-yearly team sprints in person
  • Personal learning and development budget of USD 2,000 per year
  • Annual compensation review
  • Recognition rewards
  • Annual holiday leave
  • Maternity and paternity leave
  • Employee Assistance Programme
  • Opportunity to travel to new locations to meet colleagues
  • Priority Pass, and travel upgrades for long haul company events

Interested in this job?