Sr Software Engineer (Architect), Backend - Core Data Platform
Data Platform engineering at Uber is looking for a strong Technical Lead (Level 5a Engineer) who has built high quality platforms and services that can operate at scale. 5a Engineer at Uber exhibits following qualities:
- Demonstrate tech expertise > Demonstrate technical skills to go very deep or broad in solving classes of problems or creating broadly leverageable solutions.
- Execute large scale projects > Define, plan and execute complex and impactful projects. You communicate the vision to peers and stakeholders.
- Collaborate across teams > Domain resource to engineers outside your team and help them leverage the right solutions. Facilitate technical discussions and drive to a consensus.
- Coach engineers > Coach and mentor less experienced engineers and deeply invest in their learning and success. You give and solicit feedback, both positive and negative, to others you work with to help improve the entire team.
- Tech leadership > Lead the effort to define the best practices in your immediate team, and help the broader organization establish better technical or business processes.
What You'll Do
- Build a scalable, reliable, operable and performant data analytics platform for Uber's engineers, data scientists, products and operations teams.
- Work alongside the pioneers of big data systems such as Hive, Yarn, Spark, Presto, Kafka, Flink to build out a highly reliable, performant, easy to use software system for Uber's planet scale of data.
- Become proficient of multi-tenancy, resource isolation, abuse prevention, self-serve debuggability aspects of a high performant, large scale, service while building these capabilities for Uber's engineers and operation folks.
What You'll Need
- 7+ years experience in building large scale products, distributed systems in a high caliber environment.
- Architecture: Identify and solve major architectural problems by going deep in your field or broad across different teams. Extend, improve, or, when needed, build solutions to address architectural gaps or technical debt.
- Software Engineering/Programming: Create frameworks and abstractions that are reliable and reusable. advanced knowledge of at least one programming language, and are happy to learn more. Our core languages are Java, Python, Go, and Scala.
- Platform Engineering: Solid understanding of distributed systems and operating systems fundamentals such as concurrency, multithreading, file systems, locking etc.
- Execution & Results: You tackle large technical projects/problems that are not clearly defined. You anticipate roadblocks and have strategies to de-risk timelines. You orchestrate work that spans multiple teams and keep your stakeholders informed.
- A team player: You believe that you can achieve more on a team that the whole is greater than the sum of its parts. You rely on others' candid feedback for continuous improvement.
- Business acumen: You understand requirements beyond the written word. Whether you're working on an API used by other developers, an internal tool consumed by our operation teams, or a feature used by millions of customers, your attention to details leads to a delightful user experience.
About the Team
Uber is committed to delivering safer and more reliable transportation across our global markets. To accomplish this, Uber relies heavily on making data-driven decisions at every level, from forecasting rider demand during high traffic events to identifying and addressing bottlenecks in our driver-partner sign-up process. Over time, the need for more insights has resulted in over 100 petabytes of analytical data that needs to be cleaned, stored, and served with minimum latency through our multilayered Data Platform architecture.
Since the beginning of Data engineering at Uber, we have worked to develop a Big Data platform that ensures data reliability, scalability, and ease-of-use, and are now focusing on increasing our platform's speed and efficiency [Uber's Big Data Platform: 100+ Petabytes with Minute Latency].
Our data analytics platform hosts many hundreds of thousands of big datasets that span across hundreds of data warehouses. With ~10 thousands weekly active users (Uber internal users) our platform is the bread-and-butter for engineers, data scientists, products and operations teams at Uber. Every week, more than 5 million queries are run over the platform to get critical data insights and build ML models. Data analytics team serves as the backbone for all data driven businesses at Uber. The role that this team plays, the impact that it brings to Uber, is growing every passing day.
Data teams at Uber are designed to play global roles (not building platforms for a specific country or market) and work with full autonomy. Team strikes an excellent balance between building a long term vision and accelerating the business.
At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 600 cities around the world.
We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have the curiosity, passion, and collaborative spirit, work with us, and let's move the world forward, together.
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, Veteran Status, or any other characteristic protected by law.