Connect with us icon Connect With Us

Software Engineer - Intermediate (NLP)


The goal of UPMC Enterprises Natural Language Processing(NLP) team is to leverage cutting edge NLP techniques to help build innovative products that revolutionize the way clinical notes are used in the healthcare industry.

The NLP team is looking for a Software Engineer to help define and translate advanced concepts in natural language processing and machine learning research into real-world functional solutions. The focus of this position will be to reach a mastery level of the technology stack. If you’re a self-starter that wants to move fast, and ‘learn by shipping’, you’ll find the perfect environment to apply your expertise.

Job Purpose:

At UPMC Enterprises, we help create health care innovations that will impact the lives of patients in meaningful, lasting ways.
The Senior Software Engineer will perform both exploratory and targeted algorithm development and research to develop cutting-edge NLP applications that help change the face of modern healthcare.

• Find creative solutions to difficult problems and operate within a flexible, fast-paced development environment
• Working with management, identify, develop, and manage a engineering plan for the candidate's respective project(s) within the department. Candidate will be expected to participate in project proposal process and roadmap process.
• Work with leadership on a daily basis providing status updates, recommendations for improvements, and other inputs to provide a world class engineering development organization.
• Work with an existing, experienced inter-disciplinary healthcare NLP team to define and deliver new products
• Design, develop, test, and maintain NLP pipeline, components and tooling.
• Deploy and maintain custom built NLP software and tooling on AWS and on-prem servers.
• Participation in the full software development cycle using Agile methodology
• Promote and participate in professional self-development to stay up-to-date with new technologies and development approaches within the industry
• Provide updates in both written and spoken format.
• Evaluate new software products and technologies and participate in project assessments as necessary.


• Bachelor’s Degree in relevant field (Computer Science, Applied Math, Statistics, Physics, or other quantitative fields) or has acquired core software development, natural language processing, and machine learning skills and knowledge via practical experience
• Expert knowledge of Java.
• Expert knowledge of Unix/Linux.
• Experience with Docker, JavaScript, HTML+CSS, Python is preferred.
• 2+ years of relevant software development experience
• Knowledge of clinical NLP pipelines, standard terminologies (e.g. SNOMED), data standards (e.g. HL7, FHIR), neural word embeddings or deep learning preferred.
• Prefer coursework in AI, NLP, ML
• Prefer experience in a research environment or similar work environment.
• Demonstrated increasing responsibilities including the ability to develop significant software projects.
• Must be able to work independently as well as in small groups to problem solve
• High initiative and be self-motivated to exceed expectations.
• Ability to work in and support a team based environment.

Licensure, Certifications, and Clearances:

UPMC is an Equal Opportunity Employer/Disability/Veteran

Location: Pittsburgh, PA, United States
Job ID: 945720578

UPMC is an equal opportunity employer.
Minority / Females / Veterans / Individuals with Disabilities