Are you a talented, motivated Senior Software Engineer with a specialty in natural language processing? Join an innovative and fast-paced team building software that allows litigation professionals to use AI to filter millions of documents down to those most important to their case or investigation.
The ideal candidate will have broad experience designing and implementing natural language understanding systems across a range of textual data. You have built operational systems in text processing application areas such as entity recognition, sentiment analysis, terminology detection, information extraction, reference resolution, discourse segmentation, summarization, word sense disambiguation, search, categorization, or others. You have a working knowledge of tools that range from regular expressions to modern natural language processing and machine learning frameworks, and experience applying them to a diversity of text data types, including e- mail, chat, or enterprise documents. You are comfortable mentoring, leading, and delegating to other developers.
We are thoughtful about design and focused on ensuring that our clients have software that is both useful and useable. You won’t be buried in a dark corner – you’ll have the opportunity to actively shape the software, while working as an integral part of a dynamic team of AI engineers and data scientists who are focused on writing great code, learning every day, and having a lot of fun.
If you think you’d be the right fit for our team, we’d love to hear from you.
Implement text processing and natural language understanding algorithms in Java
Strategically use new code development, legacy code, open source libraries, and commercially licensed technology
Develop and review designs, code, unit tests, system tests, and documentation
Collaborate in root cause analysis; diagnose, isolate, and fix software problems
Identify and correct issues that impact performance, reliability and scalability
Investigate and develop skills in new technologies
Mentor other developers
Bachelor’s, master’s, or doctoral degree in computer science or related field
7+ years’ work experience in natural language processing and machine learning
Deep experience programming in Java
Fluency in one or more scripting languages
Practical understanding of morphology, lexicology, syntax, semantics, and pragmatics
Experience with experimental testing of machine learning and NLP algorithms and software
Experience working within Agile / Scrum / Kanban development methodologies
Strong knowledge of Unix / Linux environments
Good writing and communication skills
An eagerness to learn, explore, and introduce new technologies
Must have authorization to work in the United States
Experience with acquiring, organizing, and using large corpora and labeled training data
Understanding of basic statistical techniques including sampling, estimation, and hypothesis testing
Experience with textual data in languages besides English
Development experience in C++
Experience working with CI / CD
This job description reflects the present requirements of the position. As duties and responsibilities change and develop, the job description will be reviewed and subject to amendment.
Reveal is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees. Reveal does not discriminate in employment on the basis of race, color, religion, sex (including pregnancy and gender identity), national origin, political affiliation, sexual orientation, marital status, disability, genetic information, age, membership in an employee organization, retaliation, parental status, military service, or other non-merit factor.