Connect with us icon Connect With Us

Senior Software Engineer

Sorry, we’re not accepting applications for this job right now. But don’t go yet! Explore our site to find more opportunities to join us in transforming the future of health care.


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 Senior 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 Computer Science, Computer Engineering, Electrical Engineering, or a related field from an accredited university, or has acquired core software development skills and knowledge via practical experience
  • Prefer 7+ years of experience in complex development environments, taking abstract concepts and ideas and formulating a detailed software engineering plan to deliver.
  • Experience using, managing and developing for Linux, UNIX, and/or Microsoft Windows systems. 
  • Highly proficient at programming preferred (C, C++, Java, and Python, and Flash)
  • Proficient in network programming, sockets, RPC systems, web protocols, JQuery, HTML5.
  • Basic knowledge of Matlab or similar packages.
  • Basic knowledge with web site construction and management.
  • Understanding of database programming and management.
  • Experience with virtualization technologies.
  • Ability to construct engaging user interfaces.
  • 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.
  • Prefer academic interaction with professors, students, and staff in the areas of computer science, software engineering, robotics, or other similar fields of study.

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

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