Natural Language Processing Engineer job description

Job brief

We are looking for a Natural Language Processing Engineer to help us improve our NLP products and create new NLP applications.

NLP Engineer responsibilities include transforming natural language data into useful features using NLP techniques to feed classification algorithms. To succeed in this role, you should possess outstanding skills in statistical analysis, machine learning methods and text representation techniques.

Your ultimate goal is to develop efficient self-learning NLP applications.


  • Study and transform data science prototypes
  • Design NLP applications
  • Select appropriate annotated datasets for Supervised Learning methods
  • Use effective text representations to transform natural language into useful features
  • Find and implement the right algorithms and tools for NLP tasks
  • Develop NLP systems according to requirements
  • Train the developed model and run evaluation experiments
  • Perform statistical analysis of results and refine models
  • Extend ML libraries and frameworks to apply in NLP tasks
  • Remain updated in the rapidly changing field of machine learning


  • Proven experience as an NLP Engineer or similar role
  • Understanding of NLP techniques for text representation, semantic extraction techniques, data structures and modeling
  • Ability to effectively design software architecture
  • Deep understanding of text representation techniques (such as n-grams, bag of words, sentiment analysis etc), statistics and classification algorithms
  • Knowledge of Python, Java and R
  • Ability to write robust and testable code
  • Experience with machine learning frameworks (like Keras or PyTorch) and libraries (like scikit-learn)
  • Strong communication skills
  • An analytical mind with problem-solving abilities
  • Degree in Computer Science, Mathematics, Computational Linguistics or similar field