IT Job Pro

Most Popular Tech Job site – Find Jobs || Post Jobs

Sr Software Engineer – Machine Learning

About the role: Partners with stakeholders to design, develop, optimize, and productionize machine learning (ML) or ML-based solutions and systems that are used within a team to solve complex problems with multiple dependencies.  This role also leads team efforts to leverage and improve ML infrastructure for model development, training, deployment needs and scaling ML systems.

About the Team: The AdTech team enables Uber’s growth by enabling acquisition and retention of Uber users through marketing. We are responsible for building and managing systems that improve efficiency and effectiveness of Uber marketing business function. We support various marketing use cases which span Uber’s mobile and web applications (Rider, Driver, Eats, Freight, Elevate, U4B etc.), Uber acquisitions (Cornershop, Jump, Careem etc.) through various marketing channels (Search, Social, Programmatic Display, Job boards, AppAds, and as many as 40 more).

Optimization team within AdTech solves automation of intelligent decision making regarding how much money should be invested and spent for different marketing channels. You will build machine learning driven automation systems that will influence multi-million dollar investment decisions. You will consume impressions and click level petabyte scale data, build highly available and highly scalable backend systems flexible enough to handle channel niche complexities and granularities. We are looking for engineers who can come and help define the next generation architecture for marketing at Uber. If you like working with billions of rows of data, 10ms response times, and having a multi-million dollar impact per engineer, we’d like to hear from you!

Core competencies: *Technical Competency: *Maintains and applies thorough and up-to-date knowledge of ML and experimentation methods (e.g., A/B testing) to design, develop, optimize, and productionize ML or ML-based solutions and systems by developing and testing hypotheses, analyzing large quantities of data, prototyping and validating ideas and systems, and adapting and creating optimized algorithms, models, and other solutions. Serves as a domain resource inside and outside their own team to adopt Uber and industry standards to leverage and improve ML infrastructure for model development, training, deployment needs and scaling ML systems. Improves Uber technical standards and leads the adoption of Uber and industry standards and best practices within the team or project.

*Coding:* Writes high-quality code (i.e., reliable, readable, efficient, testable), provides quality code reviews, and creates comprehensive tests and quality documentation to solve complex problems that are not well-defined and span multiple areas or projects. 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). Monitors, reports, and ensures resolution of complex technical problems according to standards and best practices.

*Design & Architecture: *Partners with stakeholders to understand customer and/or business requirements. Translates requirements into effective design documents to address clearly defined business or technical problems. Provides expertise to make trade-off decisions between short-term results and long-term goals.

*Efficiency & Being a Force Multiplier:* Creates and promotes efficiency and speed within team by leveraging and improving existing solutions, developing extensible solutions, and reconciling gaps and redundancy within team. Identifies opportunities and advocates for better performance and efficiency of the team’s software and systems.

*Operational Execution:* Manages and executes ambiguous technical projects and solutions with drive and appropriate sense of urgency to deliver technical and business impact within the team. Plans, organizes, and manages tasks, resources, and timelines within a team to accomplish work accurately and on time. Defines and diagnoses ambiguous problems and determines an appropriate solution, recommendation, or decision while logically evaluating alternatives and factors (e.g., resources, costs, tradeoffs). Anticipates roadblocks and develops strategies to mitigate risk.

*Collaboration:* Listens to and supports ideas/opinions of others from diverse backgrounds and experiences. Proactively builds and maintains collaborative and trusting relationships with multiple stakeholders within the team. Recognizes conflict or disputes among people and situations; mediates open communication of different points of view to resolve conflicts and meet shared goals. Provides constructive and actionable feedback to others to help improve the entire team.

*Citizenship:* Enhances the effective functioning of Uber by participating in and promoting activities and efforts that contribute to the engineering and/or people culture in the team such as mentoring junior engineers. Represents the team to the broader community through participation in internally- and/or externally-focused engagements (e.g., tech talks, open source, conferences, team building).
Minimum qualifications:
* PhD or equivalent in Computer Science, Engineering, Mathematics or related field *OR* 3-years full-time Software Engineering work experience, *WHICH INCLUDES* 2-years total technical software engineering experience in one or more of the following areas:
* Programming language (e.g. C, C++, Java, Python, or Go)
* Training using data structures and algorithms
* Modern machine learning algorithms (e.g., tree-based techniques, supervised, deep, or probabilistic learning)
* Machine Learning Software such as Tensorflow/Pytorch, Caffe, Scikit-Learn, or Spark MLLib

* Note the 2-years total of specialized software engineering experience may have been gained through education and full-time work experience, additional training, coursework, research, or similar (OR some combination of these).  The years of specialized experience are not necessarily in addition to the years of Education & full-time work experience indicated.
Technical skills: Required:

* Scalable ML architecture
* Feature management


* Previous expertise on distributed systems and/or ML Infra
* Excited about scalability and reliability of systems
* Previous domain expertise in some high-scale Applied ML field (Adtech, Marketing, Fraud/Risk, Cyber Security, Recommendation, search etcs )
* 5+ years of software engineering experience, or 3+ years of software engineering experience with PhD in relevant fields (EE, CS, Stats, Math, etc)
* Experience with causal learning and/or deep learning
* Experience working with large dataset storage systems like NoSQL, HDFS (+Hive) and data distribution systems like Kafka
* Engineering experience in hands-on software development with thoughtfulness of scale, latency and distributed architecture
* A willingness and curiosity to learn both the systems and domain in which you will be solving problem statements
* A great teammate and owner- willing to take on ownership of the systems, and think about operations, maintenance and reliability of his/her systems

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 a curiosity, passion and collaborative spirit, work with us, and let’s move the world forward, together!
Uber is proud to be an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to sex, gender identity, sexual orientation, race, color, religion, national origin, disability, protected Veteran status, age, or any other characteristic protected by law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements.
If you have a disability or special need that requires accommodation, please let us know by completing[ this form](

To apply for this job please visit