Senior Software Engineer - MAAS

Canonical - Jobs
Nashville, TN, US
Full-time

Job Description

Job Description

This is an exciting opportunity for a software engineer passionate about open source software, Linux, and Data Centre automation.

Come build a rewarding, meaningful career working with the best and brightest people in technology at Canonical, a growing international software company.

The Canonical MAAS team is responsible for delivering our Metal As A Service hyperscale provisioning technology. Ubuntu strives to be the most scalable, cloud ready server distribution and MAAS is our platform to get it there.

MAAS is a rapidly evolving software stack written in Python and Go, and we are looking for experienced software engineers who understand performance at scale, networking, storage and usability.

Applicants should be passionate about the future of Ubuntu and be able to show technical leadership with a globally distributed team of engineers who share that passion.

This position requires international travel several times a year.

What your day will look like

  • Develop MAAS core components and features to make MAAS the #1 bare metal cloud system.
  • Shape the architecture of MAAS to make it simpler, faster and easier to use.
  • Collaborate with other teams to ensure MAAS works well with other tools and is released on time.
  • Contribute your improvements to our continuous integration environment, tests and practices, to maintain fast feedback and good test coverage.
  • Contribute to documentation of current and existing features, making it world-class resource for Data Centre operators and users.
  • Provide technical communication and collaboration with other teams where appropriate.
  • Take personal ownership of problems and drive them to solutions.
  • Travel internationally a few times a year to meet and collaborate with your and other teams.

What we are looking for in you

  • Solid track record of professional software development experience in Python, Go for back-end roles, or TypeScript, React for front-end roles.
  • Capacity to learn quickly about new systems and techniques
  • Excellent logic, problem solving, and troubleshooting skills
  • Strong English language communication skills - both written and verbal
  • Experience with Linux server technologies, including but not limited to Virtualization (KVM), Containers (LXC), etc.
  • You have a Bachelor's or equivalent in Computer Science, STEM or similar degree
  • Knowledge of network technologies, including PXE, DHCP, TFTP, DNS, NTP
  • Some experience with Baseboard Management Controllers and Protocols (Redfish, IPMI, AMT and others)
  • Strong experience with networking, storage technologies and Cloud hosting and infrastructure.
  • Ideally, experience of large-scale physical server provisioning and automation, including rapid deployment, configuration, management and service orchestration.
  • Familiarity with some of the open source development tools and methodologies used in creation of several Ubuntu projects (MAAS, Juju, Ubuntu Server, LXD, Ubuntu Core), such as Launchpad, Debian packaging tools (APT, dpkg) and snapcraft.
  • An exceptional academic track record from both high school and preferably university.
  • Willingness to travel up to 4 times a year for internal events

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 - we've been working remotely since 2004!
  • 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 from your team and others
  • Priority Pass for travel and travel upgrades for long haul company events

About Canonical

Canonical is a pioneering tech firm that is 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. Work at Canonical is a step into the future, and will challenge you to think differently, work smarter, learn new skills, and raise your game.

Canonical provides a unique window into the world of 21st-century digital business.

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.

LI-Remote

30+ days ago
Related jobs
Yusen Logistics
TN, US

The Senior Software Engineer position involves taking a lead role in the design, implementation, configuration, and maintenance of enterprise supply management applications. This role demands strong technical skills, effective communication abilities, and a track record of successful software soluti...

Capgemini
Nashville, Tennessee

Apigee and Platform Engineering Skills: Apigee (OPDK, Hybrid), Cassandra, EKS, Helm Charts, Ansible, Python, GCP IAM. ...

Cynet Systems
Goodlettsville, Tennessee

A Senior Software Engineer will perform software development using the tools listed below and will maintain the code base in GIT. The senior software engineer will have a strong knowledge of the applications in their functional area, how each supports the goals of the business and how they interface...

Highmark Health
TN, Working at Home, Tennessee

Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, unit testing, code reviews, source control management, build processes, testing, and operations. We are seeking an experienced Software Engineer to join...

SmileDirectClub
Nashville, Tennessee
Remote

Implement software industry best practices and mature technology solutions that focus on system performance, resiliency, security, and availability at enterprise scale. Note that while these items are preferred, candidates with deep, senior-level experience in similar technologies, languages, and fr...

CoStar Group
Hendersonville, Tennessee

Experience in software engineering in at least one of these programming languages: C#, React, JavaScript/TypeScript. Design and develop using Object Oriented design principles and software design patterns to attain high reusability and maintainability. Deep knowledge and experience in writing unit t...

BDO
Nashville, Tennessee

The individual in this role will collaborate with business consultants, data engineers, and software engineers to deliver software product applications in BDO’s tech environment and be comfortable working independently and as part of a team. The Software Engineering Senior Associate, Valuation & Cap...

Systems & Software, Inc.
Tennessee, United States
Remote

Join Harris' Systems & Software, a pioneering force in the Utility CIS arena, as a Senior Software Engineer. Senior Software Engineer (Billing and Accounting). In this role, you will engineer backend solutions primarily for billing systems, designing new features and maintaining our industry-leading...

Capgemini
Nashville, Tennessee

Senior Software Engineer - APIGEE Hybrid DevOps Engineer-076744. ...

Home Depot
TENNESSEE, US
Remote

Software Engineer, you will be part of a dynamic team with engineers of all experience levels who help each other build and grow technical and leadership skills while creating, deploying, and supporting production applications. Software Engineers may be involved in product and tool selection, config...