Lead Machine Learning Engineer
Posted on Jan 13, 2022 by Mercator IT Solutions
My Client is looking to engage a Lead/Principal machine learning engineer to join our team. The ideal person will have industry experience working on a range of prediction and optimisation problems, for example: time series forecasting, autonomous system development, building large-scale, low-latency distributed systems, ML infrastructure and data processing pipelines. The position will involve taking these skills and applying them to some of the most exciting developments in technology for climate change. You will be expected to own the full ML life cycle, define projects and drive excellence across teams.
- Play a critical role in determining the vision and goals for a growing team, in terms of project impact, ML system design, and ML excellence.
- Be relied upon to raise the most complex online/production performance and evaluation issues, that require deep understanding of how the machine learning system interacts with systems around it
- Develop highly scalable peer to peer energy trading systems leveraging machine learning, data regression, and optimization methods
- Develop tools and services for improving ML systems beyond modelling choices - data distribution editing, data quality improvements, and representation learning with self-supervision
- Improve distributed cloud GPU training approaches for deep learning models
- Identify and evaluate new patterns and technologies to improve performance, maintainability and elegance of our machine learning systems
- Create an effective feature roadmap by suggesting, collecting and synthesizing requirements
- Work alongside the engineering team to code deliverables
- Adapt existing machine learning practices to efficiently make use of modern parallel environments (distributed clusters/GPU/Cloud providers) that best serve each business case
- Able to drive large efforts across multiple teams to reduce technical debt, designing from first principles when appropriate, as well as re-evaluate the trade-offs of already shipped features/ML systems
- Mentor fellow engineers in your areas of expertise
- Experience in one or more of the following areas: machine learning, reinforcement learning, pattern recognition, energy markets, data mining or artificial intelligence
- Experience of demonstrating technical leadership working with teams, owning projects, defining and setting technical direction for projects
- 3+ years of programming experience with at least one modern language such as Python, C++, or C# including object-oriented design
- 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
- A deep understanding of distributed and service-oriented architectures. Delivered large scale commercial enterprise software systems or large-scale online services
- Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
- Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers
- Significant Full time experience building end to end data systems as an ML Engineer, Platform Engineer, or equivalent
- Solid software engineering skills in complex, multi-language systems. Fluency in Python.
- Experience working with cloud data processing technologies (Spark, Dask, ElasticSearch, Presto, SQL, etc.)
- Expertise in ML algorithms and top practices for working with deep learning systems
- Proficiency with ML modelling frameworks (PyTorch, Tensorflow, etc.)
- Ability to serve as a technical lead - building technical requirements, software design, implementation, and clear communication
- Strong overall software development approach. You deliver clean, well-tested code.