This position reports to the CTO
Your mission, should you choose to accept it:
You will manage a team of Machine Learning Software Engineers & Data Scientists constantly striving for quality solutions that are delivered on time, within budget and scope, and drive a culture of quality and personal accountability.
You will need a strong and pragmatic understanding of Machine Learning development and have direct experience building high performance, scalable backend and RESTful web applications. You will be from a development background and have a good understanding of architectural practices with a specialization in Machine Learning. Experience in using mathematical and statistical skills to develop Data Science products to completion. In-depth applied and theoretical knowledge of the Data Science Lifecycle.
You will be an advocate of agile and iterative engineering practices and you will have prior line management experience with a track record of keeping highly skilled engineers motivated.
This is an exciting opportunity to lead a growing team of engineers working on ambitious development roadmap in two of our key focus areas: Search & Retail Optimization.
This is a hands-on role and you should expect that at least 20% of your time will be spent writing code and building machine learning models, as well as working with others on your team directly contributing to the production of code and models. The remainder of your time will be split between architectural and strategic planning with peers and senior developers, and the day-to-day people management and development required of a high-performing and successful team.
The skills we need
- Customer centric.
- Solutions and results-oriented.
- Natural leader.
- Innovative problem solver.
- Curious thinker that understands technical topics beyond the average reader.
- An ambitious and hard-working individual prepared to do more than the 9 to 5 to get up to speed.
- An influencer that constantly grows the quality of engineering through technical initiatives.
- Effective time management and organizational skills.
- Proven ability to develop and maintain positive working relationships.
- Must be comfortable with rapidly changing and/or loosely defined requirements that are refined over time.
- Skilled at active listening and capable of facilitating discussions.
- Strong communication skills with both internal team members and external business stakeholders.
- Strong initiative to find ways to improve solutions, systems, and processes.
Your qualifications & experience
- Bachelor’s Degree or Advanced Diploma (Computer Science, Mathematics, Statistics, Machine Learning or Engineering) and a minimum of 5 years’ Software Development experience, of which a minimum of 3 years’ developing production-grade Machine Learning solutions is required.
- In the event that a candidate does not have a Bachelor’s Degree or an Advanced Diploma (Computer Science, Mathematics, Statistics, Machine Learning or Engineering), an equivalent experience requirement must be met, which equates to a minimum of 8 years’ of Software Development experience, of which a minimum of 5 years’ developing production-grade Machine Learning solutions is required.
- A minimum of 3 years’ managing and leading a software engineering team, including mentoring and developing technical teams, line management of teams and performance management of teams.
- In the event of no prior management experience, at least 3 years’ delivering significant Machine Learning solutions as a technical lead, is required.
- Providing guidance to fellow engineers, evaluating and comparing model performance and model architecture, performing error analysis, and hyper parameter tuning.
- Experience leading a team technically, with a focus on high-quality output.
- Experience working within an agile team that is operationally hands-on, and an advocate of that culture.
- Excellent problem-solving skills.
- Experience developing software in Python in a test-driven environment (and/or at least in one of the following languages: Java, C, C++ or C#).
- A thorough understanding of computer science fundamentals, including object-oriented design and data structures and algorithms.
- Experience with MySQL or Postgres, and BigQuery or a similar technology in a high-load environment.
- Significant technical experience and a proven track record of architectural ownership and understanding.
- Experience in developing distributed, high transactional and available systems.
- Experience working with Big Data: data volume, variety and velocity.
Areas of mastery
- Strong mathematical and statistical skills;
- experience with AB testing;
- and monitoring
- Experience developing software for a highly-transactional retail online platform.
- A thorough understanding of software engineering practices and best practices, including agile software development, source code control systems and the use of software IDEs and development and testing tools.
- An understanding of software deployment tools, deployment processes and best practices.
- Experience working with Event Driven Architectures.
- Experience working with the AWS and/or GCP platforms, and Docker and/or Kubernetes.
- Experience with building RESTful API web services and microservices.
- Experience building customer recommendation models (e.g. Collaboration vs. Content-based, Item-to-Item vs. User-to-Item).
- Experience with Jupyter notebooks.
- Experience with Scikit-learn, SciPy, Numpy, Pandas and PyTorch.
- Experience with TensorFlow, TensorFlow Extended, TensorFlow Serving.
- Experience with Kubeflow and Dataform.
- Experience with search systems and technologies .
Bonus points
- ElasticSearch (and/or SOLR)
- Experience with Natural Language Processing (NLP).
Desired Skills:
- Machine Learning
- Data
- Python
- AWS
- Engineering manager