onsite
Staff Software Engineer, Machine Learning
Staff Software Engineer, Machine Learning
The Staff Software Engineer, Machine Learning will be responsible for researching, designing, and building systems to process data and derive insights for advertising applications. This role involves developing advanced feature extraction pipelines, deploying machine learning models, conducting A/B testing, and creating data visualizations to optimize advertising product performance.
About the role
Responsibilities:
- Research, design, and build systems to process and derive insights from high-dimensional, fast-moving, unstructured and structured data.
- Build advanced feature extraction pipelines that serve various advertising applications, including audience targeting, relevance and ranking, and performance optimisation.
- Work with Data Scientists to build and deploy machine learning and statistical models to predict or estimate key signals that are used to optimise advertising product performance.
- Run large-scale statistical A/B testing to evaluate the performance of machine learning and statistical models in advertising applications that serve hundreds of millions of impressions per day.
- Build compelling data visualizations and interactive dashboards for monitoring and sharing of business insights internally and externally.
Requirements:
- Bachelors/Masters in Computer Science or related field with 6-9 years of software development experience.
- Strong project estimation & planning skills with experience in driving projects end-to-end.
- Hands-on experience in implementing modern software development practices like Agile (Scrum), BDD, TDD, etc.
- Deep understanding of data structures and algorithms.
- Well versed with software design patterns.
- Experience with designing systems for scale with Object-Oriented design concepts
- Writing scalable, performant, maintainable code in one or more of the languages - Core Java, Scala, Node.js, Python
- Experience or understanding of Machine learning model building is a big plus
- Experience with Big data technologies such as Hadoop, Spark
- Experience building web services (REST-ful services)
- Experience with event-based architecture such as Kafka, Rabbitmq, ActiveMQ etc.
- Experience with containerization using Docker and orchestration using Kubernetes is a plus
- Great communication skills, written and verbal, with the ability to explain complex concepts and techniques in simple terms relevant to the needs of the business.
- Hands-on experience with SQL and NoSQL databases
- Good knowledge of common software development tools/technologies (Git, Java, Eclipse, Apache, MySQL, Oracle, NoSql databases, etc. ).
- Familiarity with cloud-based platforms
- Exposure to streaming technologies such as Apache Flink, Spark streaming, Kafka streaming