Suggested rewrite: Led a cross-functional initiative that improved [business outcome] by [measurable result], demonstrating experience relevant to this role...
Senior Software Engineer – Python/Golang – Kubernetes
- Salary
- Undisclosed
- Department
- Software Engineering
- Employment
- Full Time
- Experience
- Senior
- Published
- Apply before
- 7 Dec 2026
- Listing views
- 30
- Application actions
- 1
Make your next move.
Prepare your resume, explore your fit, and draft a cover letter for this opportunity.
About this role.
Canonical is a leading provider of open source software and operating systems to the global enterprise and technology markets. Our platform, Ubuntu, is very widely used in breakthrough enterprise initiatives such as public cloud, data science, AI, engineering innovation and IoT. Our customers include the world’s leading public cloud and silicon providers, and industry leaders in many sectors. The company is a pioneer of global distributed collaboration, with 1000+ colleagues in 70+ countries and very few office based roles. Teams meet two to four times yearly in person, in interesting locations around the world, to align on strategy and execution.
The company is founder led, profitable and growing.
We are hiring a senior software engineer to join our Kubernetes product team. As a member of that team, you will build the operators and addons; the former, offering complete lifecycle management of mission-critical components, and the latter, a zero-ops experience for seamlessly integrating projects into your Kubernetes.
You will gain familiarity with the latest features in Kubernetes and look to incorporate the best of open-source to bring functionality to our end-users. You will collaborate with industry peers and partners to bring the right solutions to our customers.
This is an exciting opportunity for a senior software engineer passionate about open source software, Linux, Golang, Python and Kubernetes.
Location: This is a remote position available in EMEA and the Americas.
What you will focus on
- Work closely with other leads, assuming joint responsibility for outcomes at the team, department, and company level.
- Mentor, develop, and advise colleagues on their career progression.
- Write high-quality code to create new features
- Debug issues and interact with a vibrant community
- Collaborate proactively with a distributed team
- Work from home with global travel 2 to 4 weeks for internal and external events
What we are looking for in you
- You are a Golang developer also fluent in Python
- You have experience with Kubernetes
- You have strong written and verbal communication skills
- You have a Bachelor’s or equivalent in Computer Science, STEM or similar degree
- You love technology and working with brilliant people
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.
#LI-remote
Annual salary information is not provided for this position. Explore salary ranges for similar roles in our Salary Directory ›
This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.
Role DNA
A quick view of the complexity, pace, ownership and collaboration implied by the job description.
Pace & Pressure
4/5Autonomy Level
5/5Communication Load
4/5Salary analysis
Estimated compensation compared with the broader US market for similar roles.
Core skills
Skills and capabilities most closely associated with this opportunity.
Sample interview questions
I would first define the custom resource API and the desired operational states. I would build an idempotent reconciliation loop that manages deployment, configuration, upgrades, health checks, backup and recovery, while recording clear status conditions. I would also use controller-runtime patterns, robust validation, observability, and failure-focused tests to make operation predictable.
I use Go for performance-sensitive services, Kubernetes controllers, APIs, and strongly typed concurrent systems. I use Python for automation, integration tooling, test harnesses, data transformation, and fast iteration. I choose the language based on operational requirements, maintainability, ecosystem support, and the needs of the surrounding codebase.
I begin by establishing scope and impact, then review events, logs, metrics, recent deployments, and resource conditions. I compare healthy and unhealthy workloads, verify networking, scheduling, configuration, and dependency behavior, and form testable hypotheses. After mitigation, I document root cause, add monitoring or tests, and create a preventive follow-up action.
I write concise design proposals, document decisions and trade-offs, and keep work visible through issues and pull requests. I make handoffs explicit, use asynchronous feedback effectively, and reserve synchronous meetings for decisions that benefit from real-time discussion. I also account for time zones and ensure colleagues have enough context to move work forward independently.
I would establish their current goals and experience, then pair technical guidance with progressively independent ownership. I would use code reviews to explain reasoning rather than only prescribe changes, provide feedback on design and operational thinking, and help them identify learning opportunities in real product work. Success would mean they can make sound decisions independently and support others in turn.
Apply now.
Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.
Continue on the employer website
Protect your personal information and never pay to secure an interview or job offer. .
