ML Developer
Job Purpose
The ML Developer is part of an agile project team, working on the development, enhancement and
integration of Machine Learning (ML) applications in the corporate.
Core Responsibilities:
- Design and develop Machine Learning (ML) solutions that meet the requirements as specified by the business and in accordance with departmental standards and policies.
- Build machine learning / deep learning systems for various scenarios
- Find and implement the right algorithms and tools for each scenario
- Develop, maintain and enhance the ML solutions.
- Assist with deployment and provisioning activities.
- Work closely with other teams and build excellent working relations with internal customers.
- Design and utilize effective testing strategies to ensure that all solutions developed are fit for business use.
- Ensure that development work is fully documented to assist in future maintenance activities.
- Provide accurate estimates for required development work and take personal responsibility for delivering within these time scales.
- Assist business by providing ongoing support which will include being part of a 24/7 on-call rota if required.
Minimum Requirements
- College or University degree in Computer Science or a related discipline
- 4-5 years experience with software development, specifically around ML
Core Competency Requirements
- Proficient with developing, deploying, customizing, and integrating Natural Language Processing (NLP) solutions
- Excellent knowledge of supervised, unsupervised, and reinforcement learning
- Practical experience in building recommender systems and decision trees
- Excellent programming skills in Python and R
- Experience with deep learning frameworks Tensorflow, Keras, PyTorch etc.
- Excellent knowledge of scikit learn, NumPy, pandas, matplotlib, plotly etc.
- Experience in deploying machine learning models in production
- Possess outstanding skills in deep learning, machine learning, and text representation techniques
- Good understanding of NLP techniques for text representation, semantic extraction techniques, data structures and modeling
- Excellent knowledge of machine learning algorithms and data mining techniques in one or more areas of text mining and information retrieval.
- Experience integrating cloud NLP solutions from AWS/Azure/GCP etc.
- Good knowledge of neural networks LSTM, RNN, CNN, etc.
- Identify and extract interesting patterns from structured and unstructured data
- Experience in building state of an art text mining pipelines to work with unstructured data.
- Knowledge of the most important libraries for NLP such as NLTK, Spacy etc.
- Excellent problem solving and communication skills
- Experience with source control management systems and continuous integration/deployment environments
- Internally motivated, able to work proficiently both independently and in a team environment
- Proven communication skills with both internal team members and external business stakeholders
- Strong initiative to find ways to improve solutions, systems, and processes
Preferred Competency Requirements
- Experience working with enterprise search engines such as Elastic Search
- Experience with No SQL databases
- Experience using Alteryx
- Experience working on an agile development team
Nature of Experience:
- Minimum 4-5 years experience in software development specifically in machine learning applications
- Experience in application development services across the entire software development lifecycle working in mission-critical environments.
- Experienced in Application Lifecycle Management techniques, practices, and principals
- Direct, hands-on experience with automated software and system management tools.
- Good knowledge of system and software quality assurance best practices and methodologies.
- Good experience with core software applications,
- Technically fluent in appropriate programming languages
- Some project management skills and/or exposure to project-based work structures, project lifecycle models, etc.