Software Engineering Manager (Discovery Machine Learning)

IT – Software Development
Cape Town – Western Cape

THE expertise and strong leadership of a customer-centric & solutions-driven Software Engineering Manager is sought by a rapidly growing eCommerce Platform to lead a team of Machine Learning Software Engineers. You will help ensure the team constantly strives 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. The ideal candidate will also require a Bachelor’s Degree/Advanced Diploma in Computer Science/Mathematics/Stats or similar with 5 years’ Software Development experience of which 3 years’ must have been developing production-grade Machine Learning solutions. This is an exciting opportunity to lead a growing team of Engineers working on an ambitious Development roadmap of one of the platform’s key AI focus areas: Search & Recommendations.
  • This is a hands-on role, and you should expect that at least 30% of your time will be spent writing code and building Machine Learning models.
  • 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.
  • 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 developers motivated.
  • 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.
  • 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.
Preferred experience and skills –
  • 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.
  • Working with NoSQL data stores.
  • Experience working with Kafka.
  • Working with the AWS and/or GCP platforms, and Docker and/or Kubernetes.
  • Building RESTful API Web Services and Microservices.
  • Experience with Natural Language Processing (NLP).
  • Experience with search systems and technologies such as SOLR or Elasticsearch.
  • 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.
  • 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 organisational 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.