Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
Job Description
We are seeking a highly motivated natural language processing engineer to join our science and engineering team. The NLP engineer would help us build an NLP platform.
As a NLP engineer, you will:
- Join a team of driven software engineers to design, prototype, implement, deploy, and maintain new features.
- Identify problems and implement solutions to enhance our system
- Cultivate a knowledge of NLP and machine learning by reading scientific papers
- Make sound engineering decisions and improve software development practices with an eye for performance and reliability
- Gracefully respond to and resolve production incidents with a customer-centric view of the system
Job Requirements
Preferred qualifications:
- BS degree and MS degree or equivalent practical experience in a quantitative field, preferably computer science, statistics, or mathematics
- Experience with Spark, Kafka, or other large-scale data analysis technologies
- Experience with Stanford CoreNLP or other open-source NLP Java software
- Knowledge of modern deep learning approaches to NLP, including but not limited to representation learning
- Knowledge of Microsoft Azure or other cloud technologies
- Experience working in an Agile environment with modern software development practices (e.g., version control, automated testing, continuous integration, pair-programming)
- Familiarity with Unix-like operating systems
- Working knowledge of statistical learning techniques for NLP with strong mathematical proficiency
- Experience building software that deals with noisy, unstructured text data
- Working knowledge of at least one scripting language, preferably Python
- Ability to write code that is efficient and clean.
- Working knowledge of data structures, algorithm design, complexity analysis, object-oriented programming, software architecture design, and common design patterns
- Ability to adapt to shifting requirements and deal with ambiguity to deliver high-quality software
- Ability to work closely with teammates in a highly collaborative environment, as well as providing strong individual contributions
- Excellent oral and written communication skills with an ability to present complex technical information to technical and non-technical audiences
- Bias for action, sense of ownership of the team’s systems, and relentlessly high standards
- Interest in diverse technical and scientific areas and an ability to quickly learn new concepts and technologies