AI Engineer
Role details
Job location
Tech stack
Job description
This is an exciting opportunity to work in one of the world's leading human data science teams working with Commercial Solutions to help our clients answer specific questions globally, make more informed decisions, and deliver results. We are looking for an experienced and highly productive Machine Learning Engineer to join our team.
The team develops software primarily in python, interspersed with a variety of other technologies, including tooling around CI/CD and ML Ops (and anything you can introduce which simplifies or improves our processes is always welcome). The team creates and maintains packages that support ML engineering projects. As such, the team does not directly develop models but instead writes modeling packages and works closely with the model building team as they use the packages for client delivery.
Requirements
-
Previous experience of owning, maintaining, and enhancing software products used by data scientists and supporting data scientists in their model development needs
-
Experience with algorithms, data structures, and performance optimization
-
Experience in logic development, unit tests, code review, core programming of backend software
-
Intimately familiar with a language typically used by data scientists, e.g. Python, R, MATLAB, Julia
-
Experience in software development best practices including testing, continuous integration, and DevOps tools
-
Experience with machine learning algorithms (classification, regression) and processes (how to build models, assess their goodness of fit, etc.)
-
Experience with DNN libraries such as PyTorch, Tensorflow, Flux
-
Some background with real analysis, linear algebra, numerical approximation and optimization techniques, and probability theory
-
Attention to clarity of code, ease of development, and correctness of implementations Bonus points for any of the following
-
Advanced degree in Engineering, Computer Science, Mathematics, Physics, or similar quantitative discipline
-
Produced a complete and installable software package (e.g. RPM packaging, python source distribution, etc.)
-
Produced GPU accelerated software before (using Boost:Compute, OpenCL, CUDA, Arrayfire, etc.)
-
Programmed using distributed systems (e.g. Hadoop, Spark, MPI)
-
Comfortable with numerical optimisation (in particular Bayesian hyperparameter optimisation)
-
Familiarity with agile software development lifecycle (scrum, Kanban, etc.)
-
Knowledge of cloud systems such as AWS, GCP and containerisation such as Docker
-
Knowledge of biostatistics/life sciences/healthcare technology