Sophos

Senior ML Software Engineer

Job Description

The Sophos Artificial Intelligence (Sophos AI or SAI) department is looking for ML and Software Engineers to join our Sophos AI Engineering team. As a member of our team, you will work on the development and maintenance of our internal ML operation services, training and CI/CD pipeline(s) in the AWS cloud. You will also work on delivering, integrating our models to wide variety of Sophos products to ensure the superior quality of AI used to provide protection to all our customers. To succeed in this role, you will be passionate about developing high-quality and costs efficient deliverables, continuous improvement, and cooperation between global teams and keen to use your excellent skills to contribute to the success of the Sophos Artificial Intelligence team. 


Main Duties
  • Software Development. – Innovate, design, develop and deliver features into the Sophos AI automated systems area, focusing on ML supporting systems taking it to an industry leading next generation position.
  • ML Operations – Work on automation, quality assurance of ML operations including the model training pipeline. Improve monitoring of model accuracy, model comparison and engineering metrics with traceability, reproducibility of the retrained models kept in focus.
  • Continuous Improvement – Identify key metrics, put measurement in place and work on to meet them. Do this using the Agile Software development framework of SCRUM.

  • What we are looking for
  • Minimum 4-year experience in Python and Python ecosystem.
  • Minimum 2-year experience in (R)DBMS and SQL, ideally Snowflake.
  • Experience with AWS cloud services including Fargate, CodeBuild, Batch and more.
  • Experience in ML operations and supporting system(s) like AWS SageMaker or WandB.
  • Experience in Agile software development, preferably SCRUM.
  • Proven track record of designing & developing reliable, maintainable, high-quality code.
  • Fluency in English.
  • Experience in portable C & C++ development would be great, but not a must.
  • Proficient in using development tools (source control, static analysis, issue tracking, etc.).
  • Have good problem solving and troubleshooting skills.
  • Able to work in small groups but also independently if needed.
  • Not afraid to share your opinion on how to get things better.