About the Role
Be part of the Michelangelo Platform team that is building the foundational components for Automated Machine Learning. Build the tooling/infrastructure to seamlessly discover features relevant to machine models, automatically transform features, build support for feature embeddings, and automatically tune models using Hyperparameter search techniques.
Help build or extend algorithms such as Bayesian optimization, MRMR feature selection, etc., and make the algorithms work with Billions of input data points using Spark or other distributed computing techniques.
What the Candidate Will Do
- Design and deliver software and tools as part of state-of-the-art machine learning platform
- System architecture design, including management of upstream and downstream dependencies
- Drive efficiencies in systems and processes through automation: capacity planning, configuration management, performance tuning, monitoring and root cause analysis
- Participate in periodic on-call rotations and be available for critical issues
- BS or MS in Computer Science or a related technical discipline, or equivalent experience with strong understanding of Data Structures, Time and Space complexity, and Distributed Systems
- Ability to write well abstracted, error free, highly scalable, production code in Scala or Java
- Understanding of Machine Learning techniques and its underlying algorithms
- Expertise with Machine Learning techniques such as Bayesian optimization, feature selection algorithms and feature embedding techniques
- Expertise with writing high performance Scala or Java code using Apache Spark. Contribute to code in Go or Python as needed