
Remote opportunity at
CanonicalMicroservices Engineer
Canonical runs a general selection track for engineers who build back-end REST API microservices in Go and Python. The track is open at every level of…
Career Tools
About This Role
Canonical runs a general selection track for engineers who build back-end REST API microservices in Go and Python. The track is open at every level of seniority, and there are microservices teams hiring in every time zone. It suits engineers who already hold strong opinions on APIs, service design, engineering process and DevOps. Canonical says its services must scale to serve millions of Ubuntu users and a large community, and…
Job Description
Canonical runs a general selection track for engineers who build back-end REST API microservices in Go and Python. The track is open at every level of seniority, and there are microservices teams hiring in every time zone. It suits engineers who already hold strong opinions on APIs, service design, engineering process and DevOps. Canonical says its services must scale to serve millions of Ubuntu users and a large community, and that service quality matters more as enterprises adopt Ubuntu.
The engineer designs APIs and system architecture for peer review, writes software that holds up at scale, and writes tests that check behaviour. The work includes building dependable, fault-tolerant applications and services, diagnosing problems and delivering solid fixes, and writing technical documentation. Canonical points to several focus areas: API design and governance, database performance, multi-region delivery, fuzzing and proactive security work, tracing and profiling of distributed systems, and modern DevOps. Engineers collaborate with a globally spread team and provide technical leadership both inside Canonical and in the wider community. Work trips take place twice a year for events lasting up to two weeks.
Candidates should have an outstanding academic record, a computing or STEM degree or an equivalent path, and proficiency in Python or Go. Candidates need a record of writing current, maintainable code, plus working knowledge of SQL and NoSQL stores, CI/CD pipelines, and systems or large-scale web service work. Useful extras include container work across LXD, Docker and Kubernetes, build tooling and cross-compilation, and building and running distributed systems.
Responsibilities
- Write robust, well-designed software that performs at scale
- Draft APIs and system architecture for peer review
- Write tests that verify how software behaves
- Build and maintain dependable, fault-tolerant applications and services
- Diagnose issues and deliver solid solutions
- Contribute to technical documentation
- Provide technical leadership inside Canonical and to outside communities
Requirements
- Outstanding academic record from school and university
- Computing or STEM degree, or an equivalent alternative path
- Proficiency in Python or Go
- Track record of producing current, maintainable code
- Working knowledge of SQL and NoSQL stores
- Practical experience with continuous integration and delivery
- Background in systems programming or building scalable web services
- Fluent written and spoken English with clear communication
- Able to take two trips a year to company events of up to two weeks
Qualifications
- Container know-how across LXD, Docker and Kubernetes
- Grasp of build systems and toolchains
- Experience with cross-compilation
- Experience with large public or private clouds
- Experience in creating, shipping and operating distributed systems
- Performance engineering and security background
Core Skills
Benefits
- Largely remote work, with in-person team sprints twice yearly
- USD 2,000 yearly for learning and development
- Pay reviewed each year, with recognition awards
- Holiday leave, with maternity and paternity leave
- Employee assistance programme
- Trips to new places to meet colleagues face to face
- Priority Pass card and upgraded seats on long-haul company travel
Frequently Asked Questions
Answers are based only on the employer’s listing; where it doesn’t say, neither do we.
Is this role remote?
The posting says the work is done from home, with microservices teams hiring in every time zone.
What seniority levels are considered?
The posting describes a general selection track open at all levels of seniority.
Which programming languages are needed?
Candidates need proficiency in Python or Go, the languages used for the back-end REST API microservices.
What salary is offered?
The posting does not specify a salary. Pay depends on geographical location, experience and performance.
Sample Interview Questions
AI-generated questions tailored to this specific role — a preview of the full practice set.