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 of software. 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. Most colleagues at Canonical have worked from home 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.
We are recruiting to fill the position below:
Job Title: Python and Kubernetes Software Engineer - Data, AI / ML & Analytics
Location: Lagos
Description
As a software engineer on the team, you'll collaborate on an end-to-end data analytics and mlops solution composed of popular, open-source, machine learning tools, such as Kubeflow, MLFlow, DVC, and Feast.
You may also work on workflow, ETL, data governance and visualization tools like Apache SuperSet, dbt, and Temporal, or data warehouse solutions such as Apache Trino, or ClickHouse.
Your team will own a solution from the analytics and machine learning space, and integrate with the solutions from other teams to build the world's best end-to-end data platform. These solutions may be run on servers or on the cloud, on machines or on Kubernetes, on developer desktops, or as web services.
We serve the needs of individuals and community members as much as the needs of our Global 2000 and Fortune 500 customers; we make our primary work available free of charge and our Pro subscriptions are also available to individuals for personal use at no cost. Our goal is to enable more people to enjoy the benefits of open source, regardless of their circumstances.
This initiative spans many teams that are home-based in EMEA, Americas and APAC time zones, so we can accommodate candidates in almost any location.
We believe in distributed collaboration but we also try to ensure that colleagues have company during their work hourse! Successful candidates will join a team where most members and your manager are broadly in the same time zone so that you have the benefits of constant collaboration and discussion.
Responsibilities
What your day will look like:
Develop your understanding of the entire Linux stack, from kernel, networking, and storage, to the application layer
Design, build and maintain solutions that will be deployed on public and private clouds and local workstations
Master distributed systems concepts such as observability, identity, tracing
Work with both Kubernetes and machine-oriented open source applications
Collaborate proactively with a distributed team of engineers, designers and product managers
Debug issues and interact in public with upstream and Ubuntu communities
Generate and discuss ideas, and collaborate on finding good solutions
Requirements
What we are looking for in you:
Professional or academic software delivery using Python or Golang
Exceptional academic track record from both high school and university
Undergraduate Degree in a Technical subject or a compelling narrative about your alternative chosen path
Confidence to respectfully speak up, exchange feedback, and share ideas without hesitation
Track record of going above-and-beyond expectations to achieve outstanding results
Passion for technology evidenced by personal projects and initiatives
The work ethic and confidence to shine alongside motivated colleagues
Professional written and spoken English with excellent presentation skills
Experience with Linux (Debian or Ubuntu preferred)
Excellent interpersonal skills, curiosity, flexibility, and accountability
Appreciative of diversity, polite and effective in a multi-cultural, multi-national organisation
Thoughtfulness and self-motivation
Result-oriented, with a personal drive to meet commitments
Ability to travel twice a year, for company events up to two weeks long
Additional skills that would be nice to have:
The following skills may be helpful to you in the role, but we don't expect everyone to bring all of them:
Hands-on experience with machine learning libraries, or tools.
Proven track record of building highly automated machine learning solutions for the cloud.
Experience with container technologies (Docker, LXD, Kubernetes, etc.)
Experience with public clouds (AWS, Azure, Google Cloud)
Working knowledge of cloud computing
Passionate about software quality and testing
Experience working on an open source project
What We Offer Colleagues
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 or commission. 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