Software Engineer - Data Infrastructure
Canonical
Job Overview
Who's the hiring manager?
Sign up to PitchMeAI to discover the hiring manager's details for this job. We will also write them an intro email for you.

Job Description
About Canonical
Canonical is a pioneering tech firm at the forefront of the global move to open source. As the company that publishes Ubuntu, a foundational open source project and platform for AI, IoT, and the cloud, we are changing the world daily. We recruit globally and set a high standard, expecting excellence from those joining our team.
Canonical has been a remote-first company since 2004. Working with us is a step into the future, challenging you to think differently, work smarter, learn new skills, and elevate your performance. We provide a unique window into 21st-century digital business.
The Opportunity: Software Engineer - Data Infrastructure
Canonical is building a comprehensive automation suite to provide multi-cloud and on-premise data solutions for the enterprise. The data platform team is a collaborative group developing a full range of data stores and data technologies, spanning big data, NoSQL, cache-layer capabilities, analytics, and structured SQL engines.
We address the interesting problem of fault-tolerant mission-critical distributed systems and aim to deliver the world's best automation solution for data platforms.
We have multiple openings ranging from junior to senior levels, and we will help you identify a suitable position based on your experience and interests. Engineers who excel at Canonical are mindful of open-source community dynamics and equally aware of the needs of large, innovative organizations.
What your day will look like
The data platform team is responsible for automating data platform operations. This includes ensuring fault-tolerant replication, TLS, installation, and more, while also providing domain-specific expertise on the data system to other teams within Canonical. This Software Engineer - Data Infrastructure role focuses on creating and automating data platform features, not analyzing the data within them.
- Collaborate proactively with a distributed team
- Write high-quality, idiomatic Python code to create new features
- Debug issues and interact with upstream communities publicly
- Work with helpful and talented engineers, including experts in many fields
- Discuss ideas and collaborate on finding good solutions
- Work from home with global travel for 2 to 4 weeks per year for internal and external events
What we are looking for in you
- Proven hands-on experience in software development using Python
- Proven hands-on experience in distributed systems
- Have a Bachelor’s or equivalent in Computer Science, STEM, or a similar degree
- Willingness to travel up to 4 times a year for internal events
Additional Skills That You Might Also Bring
You might also bring a subset of experience from the following, which will determine the exact role and level we consider you for:
- Experience operating and managing data platform technologies like PostgreSQL, MySQL, MongoDB, OpenSearch, Kafka, Yugabyte, Trino, Superset, Atlas, Ranger, and Redis
- Experience with Linux systems administration, package management, and operations
- Experience with the public cloud or a private cloud solution like OpenStack
- Experience with operating Kubernetes clusters and a belief that it can be used for serious persistent data services
What we offer you
Your base pay will depend on various factors including your geographical location, level of experience, knowledge, and skills. In addition to the benefits above, certain roles are also eligible for additional benefits and rewards including annual bonuses and sales incentives based on revenue or utilization. Our compensation philosophy ensures equity across our global workforce.
In addition to a competitive base pay, we provide all team members with additional benefits that reflect our values and ideals. Please note that additional benefits may apply depending on the work location; for more information, please ask your Talent Partner.
- Fully remote working environment - we’ve been working remotely since 2004!
- Personal learning and development budget of 2,000USD per annum
- Annual compensation review
- Recognition rewards
- Annual holiday leave
- Parental Leave
- Employee Assistance Programme
- Opportunity to travel to new locations to meet colleagues at ‘sprints’
- Priority Pass for travel and travel upgrades for long-haul company events
Key skills/competency
- Python
- Distributed Systems
- Data Platforms
- Automation
- Open Source
- Linux
- Kubernetes
- PostgreSQL
- MongoDB
- Cloud Computing
- Fault Tolerance
How to Get Hired at Canonical
- Research Canonical's culture: Study their mission, values, recent news, and employee testimonials on LinkedIn and Glassdoor.
- Tailor your resume: Highlight Python, distributed systems, and data platform experience for Canonical.
- Showcase open-source contributions: Emphasize involvement in relevant upstream communities or projects.
- Prepare for technical depth: Review distributed systems, data store operations, and Linux fundamentals.
- Demonstrate collaborative spirit: Discuss problem-solving approaches and teamwork experience effectively.
Frequently Asked Questions
Find answers to common questions about this job opportunity
Explore similar opportunities that match your background