What the Candidate Will Need / Bonus Points
---- What the Candidate Will Do ----
- Code: Writes high-quality code (i.e., reliable, readable, efficient, testable), provides quality code reviews, and creates comprehensive tests and quality documentation using software engineering principles. This includes knowledge of data structures, algorithms, programming and associated programming languages and frameworks, and major phases/activities of the software research and development life cycle (e.g., requirements, design, build, experiment, test, debug, deploy, monitor). Identifies, reports, and solves technical problems according to standards and best practices.
- Design: Uses software design principles and methods, knowledge of the capabilities and limitations of existing software solutions at Uber, and an understanding of own work's impact on other areas to reuse, extend, or, when needed, build effective architectures that are integrated with existing solutions and in alignment with needs and goals across areas. Learns and anticipates current and future design requirements and evaluates trade-off decisions to design systems that meet current needs and can be extended for future needs
- Execute: Executes work with drive and appropriate sense of urgency to deliver technical and business impact. Plans, organizes, and manages tasks, resources, and relationships to accomplish work accurately and on time. Defines and diagnoses problems and determines an appropriate solution, recommendation, or decision while logically evaluating alternatives and factors (e.g., resources, costs, tradeoffs). Accepts responsibility and accounts for own actions and work.
- Collaborate: Builds trusting and collaborative relationships and rapport with different types of people and teams. Respects the unique backgrounds and contributions of others. Recognizes conflict or disputes among people and situations, learns and works to understand different points of view. Resolves and aligns discrepancies across teams and organizations to accomplish team-, organization-, or Uberwide goals. Provides constructive feedback to others in a tactful and impactful manner.
Want more jobs like this?
Get jobs in Bangalore, India delivered to your inbox every week.
---- Basic Qualifications ----
- Bachelor's degree in Computer Science or related technical field or equivalent practical experience
- Experience coding using general purpose programming language (eg. Java, Python, Go, Javascript, Fusion)
- Understanding and exposure to data tech stack eg: Spark, Hive.
---- Preferred Qualifications ----
- Coding chops, clean, elegant, bug-free code in languages like JS, React, nodejs, open to new stack as needed
- Provide technical direction and hands-on solving of technical problems in the area of distributed systems
- Strong desire to learn and grow, while building the outstanding systems
- Work in close collaboration with other specialists, product managers, designers, and operations to ship useful and fabulous experiences to our customers
- Passionate about helping teams grow by inspiring and mentoring engineers.
- Ability to Identify and resolve performance and scalability issues
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.
Offices continue to be central to collaboration and Uber's cultural identity. Unless formally approved to work fully remotely, Uber expects employees to spend at least half of their work time in their assigned office. For certain roles, such as those based at green-light hubs, employees are expected to be in-office for 100% of their time. Please speak with your recruiter to better understand in-office expectations for this role.
*Accommodations may be available based on religious and/or medical conditions, or as required by applicable law. To request an accommodation, please reach out to accommodations@uber.com.