Software Engineer in Go
About Us
We are a leading provider of open-source software and operating systems for global enterprise and technology markets. Our platform, Ubuntu, is widely used in breakthrough 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.
We are hiring exceptional software engineers who prefer to work in Go. After the first round of interviews, we'll find the best fit product team at our company based on your personal interests.
Why Choose Go?
We prefer Go for software where performance and security are primary considerations. We also have substantial projects in Python, C, C++, and are starting to invest in Rust. For front-end development, we prefer React and Flutter.
Go is an essential language for our engineering teams, who build the systems that deliver Ubuntu to the world. From our software distribution systems to those which build and test every possible kind of open source on every architecture, from our systems management tools to our distributed systems operations R&D, we count on Go for its concurrency and developer ecosystem.
Responsibilities
* Design and implement well-tested and documented software in Go.
* Debug and fix issues encountered by your users.
* Participate in our engineering process through code and architectural reviews.
* Collaborate with community and colleagues on technical specifications.
* Seek improvements to engineering and operations practices.
* In some cases, deploy and operate services developed by the team.
Requirements
* An exceptional academic track record from both high school and university.
* Undergraduate degree in Computer Science or STEM, or a compelling narrative about your alternative path.
* Drive and a track record of going above-and-beyond expectations.
* Well-organized, self-starting, and able to deliver to schedule.
* Professional manner interacting with colleagues, partners, and community.
* Experience designing and writing high-quality Go software on Linux.
* Experience with and passion for Linux at the system level.
* For more senior roles, experience building, deploying, and operating distributed systems and APIs.
* Professional written and spoken English.
* Experience with Linux (Debian or Ubuntu preferred).
Benefits
* Distributed work environment with twice-yearly team sprints in person.
* Personal learning and development budget.
* Annual compensation review.
* Recognition rewards.
* Annual holiday leave.
* Maternity and paternity leave.
* Employee Assistance Program.
* Opportunity to travel to new locations to meet colleagues.