Understand and use computer science fundamentals, including data structures, algorithms, computability and complexity and computer architecture.
Use exceptional mathematical skills, in order to perform computations and work with the algorithms involved in this type of programming.
Produce project outcomes and isolate the issues that need to be resolved, in order to make programmes more effective.
Collaborate with data engineers to build data and model pipelines.
Manage the infrastructure and data pipelines needed to bring code to production.
Demonstrate end-to-end understanding of applications (including, but not limited to, the machine learning algorithms) being created.
Build algorithms based on statistical modelling procedures and build and maintain scalable machine learning solutions in production.
Use data modelling and evaluation strategy to find patterns and predict unseen instances.
Apply machine learning algorithms and libraries.
Lead on software engineering and software design.
Communicate and explain complex processes to people who are not programming experts.
Liaise with stakeholders to analyze business problems, clarify requirements and define the scope of the resolution needed.
Analyze large, complex datasets to extract insights and decide on the appropriate technique.
Research and implement best practices to improve the existing machine learning infrastructure.
Provide support to engineers and product managers in implementing machine learning in the product.
Quality And Requirements
University or advanced degree in engineering, computer science, mathematics, or a related field.
5+ years experience developing and deploying machine learning systems into production.
Strong experience working with a variety of relational SQL and NoSQL databases.
Strong experience working with big data tools: Hadoop, Spark, Kafka, etc.
Experience with at least one cloud provider solution (AWS, GCP, Azure).
Strong experience with object-oriented/object function scripting languages: Python, Java, C++, etc.
Solid understanding of Machine Learning / Deep Learning and the existing frameworks such as Tensorflow and PyTorch.
Ability to work in a Linux environment.
Industry experience building innovative end-to-end Machine Learning systems.
Ability to quickly prototype ideas and solve complex problems by adapting creative approaches.
Experience working with distributed systems, service-oriented architectures and designing APIs.
Strong knowledge of data pipeline and workflow management tools.
Expertise in standard software engineering methodology, e.g. unit testing, test automation, continuous integration, code reviews, design documentation.
Relevant working experience with Docker and Kubernetes will be a big plus.