What are the responsibilities and job description for the Software Engineer II - Storage Platform position at Uber?
About The Role
As a Software Engineer II on the Storage Platform team, you will build and scale the foundation of Uber's data infrastructure. Our team provides standardized, integrated, and fully managed database, object storage, and cache services. We manage a mix of proprietary and open-source solutions designed for massive scale, high Quality of Service (QoS), and dynamic reliability.
You will be responsible for the infrastructure that bridges real-time databases with our Big Data Platform, directly powering the data-driven decisions that move Uber forward.
What You'll Do
As a Software Engineer II on the Storage Platform team, you will build and scale the foundation of Uber's data infrastructure. Our team provides standardized, integrated, and fully managed database, object storage, and cache services. We manage a mix of proprietary and open-source solutions designed for massive scale, high Quality of Service (QoS), and dynamic reliability.
You will be responsible for the infrastructure that bridges real-time databases with our Big Data Platform, directly powering the data-driven decisions that move Uber forward.
What You'll Do
- Design, develop, and roll out high-performance storage features, frameworks, and ecosystems that are scalable, reliable, and easy to operate.
- Drive improvements in system reliability and efficiency through advanced automation, proactive monitoring, and performance tuning.
- Partner with cross-functional stakeholders and application engineers to ensure our storage ecosystem provides a seamless experience across various backends.
- Take full accountability for projects, from initial requirement gathering with peers to final deployment, while providing technical input to shape the focus area.
- Elevate the team's engineering standards through rigorous code reviews, design critiques, and technical mentoring.
- Bachelor's degree (or higher) in Computer Science, Engineering, Mathematics, or a similar field.
- 2 years of software backend and distributed system development experience.
- Strong problem-solving and solid coding skills in one or more programming languages (e.g., Go, Java, C/C , Python).
- Good verbal and written communication skills.
- Experience developing or operating high-load, large-scale distributed systems and building monitoring systems.
- Understanding or hands-on experience with big data infrastructure tools and software like Spark, HDFS, and Yarn. Real-time streaming technology, such as Apache Flink.
- Excellent written and verbal communication skills, including writing detailed technical documents.
Salary : $171,000 - $190,000