Software Engineer - Juju (Go / Distributed Systems) at Canonical

Job Overview

Location
Lagos, Lagos
Job Type
Full Time
Date Posted
4 years ago

Additional Details

Job ID
942
Job Views
97

Job Description



Summary



  • This is an exciting opportunity for a software engineer passionate about open source software, Linux, and distributed systems. Come build a rewarding, meaningful career working with the best and brightest people in technology at Canonical, the growing international software company behind Ubuntu.

  • As a Software Engineer on the Juju team, you'll be working on a large open source Go project that powers complex distributed software systems across the world. Juju is the engine behind model-driven operations, providing a means to operate complex software on public cloud, private cloud, Kubernetes and bare-metal. Combined with the Charmed Operator framework, Juju provides a complete solution for applications and infrastructure management.

  • If you love solving interesting technical challenges in elegant, high-performance ways, come join our globally-distributed team of software engineers in building the future of the software-defined datacenter on the Ubuntu platform.

  • Many internal and external teams depend on Juju to deliver their products and services - from Canonical Infrastructure Services, our Openstack and cloud delivery teams, to Fortune 500 companies


What You’ll Do



  • Work with a variety of languages (primarily Go) to develop high-quality, extensible and reusable software.

  • Actively collaborate with both internal and external users to resolve problems and define new features.

  • Show strong technical leadership and rigour in feature definition, feature delivery and code review.

  • Ensure quality by maintaining the tools, framework and infrastructure to run tests.


Job Requirements

Who you are:



  • Degree level education in a technology field  

  • Proven track record of at least 5 years professional software delivery using Go, C, C++ or similar.

  • Solid networking background and experience

  • Experience with agile software development methodologies

  • Experience of the Linux and free software world

  • Working knowledge of cloud computing and experience with highly-concurrent distributed systems

  • Excellent communications skills in the English language, both verbal and written, especially in online environments

  • Ability to effectively interact with a diverse group of people (both technical and non-technical)

  • Ability to be productive in a globally distributed team through self-discipline and self-motivation, delivering according to a schedule, and to motivate and mentor others to do the same

  • Software development and operational experience with databases


Desirable skills and experience:



  • Passion for quality and testing

  • Go programming language experience

  • Excellent distributed systems administration experience

  • Proficient DevOps methodology and process

  • Experience with test automation including system level automation and job runners

  • Experience with continuous integration strategies

  • Experience with packaging (debian, snappy)

  • Release Management

  • Technical understanding of complex distributed systems

  • Delivery of scale-out service solutions

  • Experience with container technologies (Docker, LXD, Kubernetes, etc.)

  • Programming with and operating MongoDB

  • Experience working on a distributed team on an open source project -- even if that is outside work open source contributions.

  • Demonstrated track record of Open Source contributions


Similar Jobs

Cookies

This website uses cookies to ensure you get the best experience on our website. Cookie Policy

Accept