(Senior) Software Engineer, Hardware Systems - uMetal
Engineering in San Francisco, CA
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 600 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.
About the role
We actively challenge existing hardware trends and are always seeking the best solution to a problem. Not only are we solving our own problems, but because of our scale, we are solving problems that other companies have not yet had. This role involves a wide variety of technologies across large number of disciplines. You will be expected to jump in and develop strong solutions at scale. We do not have responsibilities set in stone, and are always looking for talented individuals to push us forward. We value the input of all our teammates, and it is important that you can contribute right away both with ideas and hands on engineering. You will have an opportunity to make an immediate impact that improves the quality of our infrastructure.
About the team
The uMetal team provides the on-demand metal service to keep Uber’s innovation running. uMetal builds the base layer of compute resources for developers, riders, drivers, and self-driving cars rely on every day. Supporting billions of rides and fast-forwarding to the future of self-driving cars, Uber’s data center team has some of the most interesting challenges around.
What You'll Do
This role is responsible for automating how we manage our servers in the datacenter fleet. The automation will drive onboarding racks/servers, provisioning servers, asset tracking, automatically validating, and performing remediation of servers. This role is also responsible driving the architecture and design of our next generation hw monitoring system. It’s exciting to drive efficiency with how we manage our hyperscale datacenter hw fleet.
What You'll Need
BS degree in Computer Science or related engineering field.
5+ years of relevant software engineering experience.
Solid background in multiple programming languages, e.g. Go, Python or C/C++.
Prior experience with infrastructure automation, Data Center Infrastructure Management (DCIM), Linux environments, imaging solutions, and configuration management (Puppet, Chef, Salt).
Excellent written and verbal communication skills and the ability to write detailed design documents.
Experience with helping the team grow by inspiring and mentoring less experienced engineers.
Experience with partnering with internal customers and creating solutions span multiple teams.
Strong experience with Operating Systems.You should have strong experience in the Linux environment and a solid understanding of its fundamentals such as kernel parameters.
Understanding of DHCP, PXE, DNS and TCP/IP are also a bonus.
Experience developing service oriented systems, REST
At Uber we don’t just accept difference—we celebrate it, we support it, and we thrive on it for the benefit of our employees, our products and our community. Uber is proud to be an equal opportunity workplace. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status.