We’re changing the way people think about transportation. Not that long ago we were just an app to request premium black cars in a few metropolitan areas. Now we’re a part of the logistical fabric of more than 500 cities around the world. Whether it’s a ride, a sandwich, or a package, we use technology to give people what they want, when they want it.
For the people who drive with Uber, our app represents a flexible new way to earn money. For cities, we help strengthen local economies, improve access to transportation, and make streets safer.
And that’s just what we’re doing today. We’re thinking about the future, too. With teams working on autonomous trucking and self-driving cars, we’re in for the long haul. We’re reimagining how people and things move from one place to the next.
Hi! We’re the Go team at Uber. You might recognize us from such classics as zap, fx, go-torch, and Go Profiling and Optimization.
As part of the Go team you’ll join a group of language experts solely focused on improving the quality, performance and stability of Go code across the company and the broader open-source community. You’ll work with some of the most talented, high-velocity engineering teams and ensure that the most pressing development problems are solved, and the solutions are reusable for engineers everywhere in the organization. The code you build and maintain will be at the heart of critical systems across Uber, from infrastructure to user-facing products and services. You’ll empower a large and quickly-growing engineering organization to do its best work and deliver high-quality products quickly. You’ll ensure that moving fast doesn’t mean sacrificing stability, quality, performance or maintainability. And along the way, you’ll get to shape the very future of engineering at Uber.
We need passionate, skilled developers who can think at both the code and organizational levels, engineers who care deeply about building systems and libraries the right way, who are eager to take on ownership of business-critical code, and who are opinionated and uncompromising in their pursuit of technical excellence.
Design, develop and maintain world-class Go tools and packages.
Drive the development of Go standards, practices and education.
Build Uber’s Go open-source presence.
Design and build infrastructure to help teams measure and improve development velocity.
Work closely with engineers across the company to solve critical software development problems in principled and reusable ways.
Solid understanding of Go, including common toolsand best practices.
Experience building reusable tools, packages and software patterns for developers.
Background in infrastructure and distributed systems.
Passion for software quality, including testing, code review, and documentation.
Desire to contribute to open source.
Strong cross-team communication skills.
B.S., M.S., or Ph. D. in Computer Science or equivalent work experience.
Experience working on distributed software projects in a large organization.
Experience leading, contributing to, or maintaining open-source projects.
Experience as a technology-specific speaker or evangelist.
Be sure to check out the Uber Engineering Blog to learn more about the team.