Post a job

C, Golang Software Engineer working on dqlite, a Raft extension for SQLite

Canonical logo

Location
AD, AE + 146 more
Canonical

Job Description

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.

This is an excellent opportunity for someone who wants to have a meaningful impact on modern computing technologies. Canonical offers a fast-paced team environment and a career full of learning and development opportunities.

Location: This is a remote position available in EMEA

What you will focus on

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

What we are looking for in you

  • 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

What we offer you

We consider geographical location, experience, and performance in shaping compensation worldwide. We revisit compensation annually (and more often for graduates and associates) to ensure we recognise outstanding performance. In addition to base pay, we offer a performance-driven annual bonus. We provide all team members with additional benefits, which reflect our values and ideals. We balance our programs to meet local needs and ensure fairness globally.

  • 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

About Canonical

Canonical is a pioneering tech firm at the forefront of the global move to open source. As the company that publishes Ubuntu, one of the most important open source projects and the platform for AI, IoT and the cloud, we are changing the world on a daily basis. We recruit on a global basis and set a very high standard for people joining the company. We expect excellence - in order to succeed, we need to be the best at what we do. Canonical has been a remote-first company since its inception in 2004.​ Working here is a step into the future, and will challenge you to think differently, work smarter, learn new skills, and raise your game.

Canonical is an equal opportunity employer

We are proud to foster a workplace free from discrimination. Diversity of experience, perspectives, and background create a better work environment and better products. Whatever your identity, we will give your application fair consideration.

Advice from our career coach

As a software developer focused on dqlite, our distributed SQLite database with a Raft library, it's crucial to have experience in distributed systems, good C programming skills, and an understanding of asynchronous programming. Here are some tips to stand out as an applicant:

  • Highlight your experience with distributed systems, especially with Raft.
  • Showcase your strong C programming skills and experience.
  • Emphasize your understanding of asynchronous programming and concurrency patterns.
  • Demonstrate your capacity to quickly learn about new systems and techniques.
  • Focus on your written and verbal communication skills, as they are essential for engaging with users and the open-source community.
  • Ensure your resume reflects a Bachelor's or equivalent degree in Computer Science, STEM, or a related field.
  • Consider mentioning any experience with Jepsen tests, traditional HA database automated testing, or stress tests.

Apply for this job

Expired?

Please let Canonical know you found this job with RemoteJobs.org. This helps us grow!

About the job

May 24, 2024

Full-time

  1. AD Andorra
  2. AE United Arab Emirates
  3. AF Afghanistan
  4. AL Albania
  5. AM Armenia
  6. AO Angola
  7. AQ Antarctica
  8. AT Austria
  9. AX Åland Islands
  10. AZ Azerbaijan
  11. BA Bosnia & Herzegovina
  12. BE Belgium
  13. BF Burkina Faso
  14. BG Bulgaria
  15. BH Bahrain
  16. BI Burundi
  17. BJ Benin
  18. BL St. Barthélemy
  19. BV Bouvet Island
  20. BW Botswana
  21. BY Belarus
  22. CD Congo - Kinshasa
  23. CF Central African Republic
  24. CG Congo - Brazzaville
  25. CH Switzerland
  26. CI Côte d’Ivoire
  27. CK Cook Islands
  28. CM Cameroon
  29. CV Cape Verde
  30. CW Curaçao
  31. CY Cyprus
  32. CZ Czechia
  33. DE Germany
  34. DJ Djibouti
  35. DK Denmark
  36. DZ Algeria
  37. EE Estonia
  38. EG Egypt
  39. EH Western Sahara
  40. ER Eritrea
  41. ES Spain
  42. ET Ethiopia
  43. FI Finland
  44. FO Faroe Islands
  45. FR France
  46. GA Gabon
  47. GB United Kingdom
  48. GE Georgia
  49. GF French Guiana
  50. GG Guernsey
  51. GH Ghana
  52. GI Gibraltar
  53. GL Greenland
  54. GM Gambia
  55. GN Guinea
  56. GP Guadeloupe
  57. GQ Equatorial Guinea
  58. GR Greece
  59. GW Guinea-Bissau
  60. HM Heard & McDonald Islands
  61. HR Croatia
  62. HU Hungary
  63. IE Ireland
  64. IL Israel
  65. IM Isle of Man
  66. IQ Iraq
  67. IR Iran
  68. IS Iceland
  69. IT Italy
  70. JE Jersey
  71. JO Jordan
  72. KE Kenya
  73. KG Kyrgyzstan
  74. KM Comoros
  75. KW Kuwait
  76. KZ Kazakhstan
  77. LB Lebanon
  78. LI Liechtenstein
  79. LR Liberia
  80. LS Lesotho
  81. LT Lithuania
  82. LU Luxembourg
  83. LV Latvia
  84. LY Libya
  85. MA Morocco
  86. MC Monaco
  87. MD Moldova
  88. ME Montenegro
  89. MF St. Martin
  90. MG Madagascar
  91. MK North Macedonia
  92. ML Mali
  93. MQ Martinique
  94. MR Mauritania
  95. MT Malta
  96. MU Mauritius
  97. MW Malawi
  98. MZ Mozambique
  99. NA Namibia
  100. NE Niger
  101. NG Nigeria
  102. NL Netherlands
  103. NO Norway
  104. OM Oman
  105. PL Poland
  106. PM St. Pierre & Miquelon
  107. PS Palestinian Territories
  108. PT Portugal
  109. QA Qatar
  110. RE Réunion
  111. RO Romania
  112. RS Serbia
  113. RU Russia
  114. RW Rwanda
  115. SA Saudi Arabia
  116. SC Seychelles
  117. SD Sudan
  118. SE Sweden
  119. SH St. Helena
  120. SI Slovenia
  121. SJ Svalbard & Jan Mayen
  122. SK Slovakia
  123. SL Sierra Leone
  124. SM San Marino
  125. SN Senegal
  126. SO Somalia
  127. SS South Sudan
  128. ST São Tomé & Príncipe
  129. SX Sint Maarten
  130. SY Syria
  131. SZ Eswatini
  132. TD Chad
  133. TF French Southern Territories
  134. TG Togo
  135. TJ Tajikistan
  136. TM Turkmenistan
  137. TN Tunisia
  138. TR Türkiye
  139. TZ Tanzania
  140. UA Ukraine
  141. UG Uganda
  142. UZ Uzbekistan
  143. VA Vatican City
  144. YE Yemen
  145. YT Mayotte
  146. ZA South Africa
  147. ZM Zambia
  148. ZW Zimbabwe
RemoteJobs.org mascot