The NLP Developer is part of an agile project team, working on the development, enhancement, and integration of Natural Language Processing (NLP) applications in the corporate.
- Design and develop NLP solutions that meet the requirements as specified by the business and in accordance with departmental standards and policies.
- Transform natural language data into useful features using NLP techniques to feed various machine learning algorithms
- Find and implement the right algorithms and tools for NLP tasks
- Develop, maintain and enhance the NLP 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.
- College or University degree in Computer Science or a related discipline
- 4-5 years experience with software development, specifically around NLP
Core Competency Requirements
- Proficient with developing, deploying, customizing, and integrating Natural Language Processing (NLP) solutions
- 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 with deep learning frameworks Tensorflow, Keras, PyTorch, etc.
- Excellent programming skills in Python and R
- 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 working on an agile development team
Nature of Experience:
Minimum 4-5 years experience in software development specifically in natural language processing 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 Page 3 of 3 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.