Senior Software Engineer, Configuration platform
Posted: 4 days ago
Job Description
About The RoleThe Unified Configuration System team enables Uber's engineers and operators to manage/configure their fleet-wide services safely and efficiently on a large scale. We put extra emphasis on safe and gradual configuration rollout, ensuring proper monitoring and automatic rollback in case issues are detected.The team provides a unified and scalable configuration experience across all of Uber's workloads, data centers, and cloud vendors. We closely collaborate with many product and platform teams, also supporting custom-tailored configuration solutions that serve specific business needs.What You Will DoThe candidate will help build large-scale software solutions to ensure Uber's systems are reliable and efficient - in a team of people that want you to grow and succeed.Examples of what it means to be an engineer in our team: Design reliable solutions to solve business use cases in a highly distributed system. Implement solutions in Go with a strong focus on clean, readable code with unit and integration test coverage - and run it in production. Actively drive collaboration across multiple teams to create alignment and progress. Take an active part in code change peer reviews to ensure quality and knowledge sharing across the team. Contribute to engineering culture in terms of quality, monitoring, and on-call practices. Own part of the team's charter and through that help set longer-term direction for the team. Basic QualificationsA typical engineer has the following profile. We expect that you have similar traits: 5+ years of professional software development experience Self-driven, team-first, strong ownership. BS, MS, or PhD degree in computer science, similar technical field of study, or equivalent practical experience Background in multiple programming languages, e.g., Go, Java, Python, etc. Attention to detail, particularly around software engineering fundamentals, testing methodologies, and quality. Good verbal and written communication skills. Experience writing design documents, documentation, post-mortems, etc. Preferred Qualifications Experience building large distributed systems Experience with running critical systems in production, monitoring them, and handling incidents. Experience with containerization software such as Kubernetes or Docker. Experience with database and storage technologies and understanding trade-offs between them Comfortable working with on-prem and cloud-based infrastructure (AWS, GCP). Experience with Linux development
Job Application Tips
- Tailor your resume to highlight relevant experience for this position
- Write a compelling cover letter that addresses the specific requirements
- Research the company culture and values before applying
- Prepare examples of your work that demonstrate your skills
- Follow up on your application after a reasonable time period