Geisinger: Senior Data Science Programmer
Responsible for designing, deploying, and improving infrastructure in support of data scientists, and providing direct programming and scientific support to data scientists.
Location: Danville, PA
Geisinger Health System’s Data Science team, a component of its Division of Applied Research and Clinical Informatics, is an active research and development group created to respond to the emerging need for predictive analytics in medical practice. The department works with many aspects of large-scale data acquisition and analysis and applies the products of those efforts to patient care, healthcare operations, and related fields. To achieve these goals, the team’s data scientists and developers work together to combine cutting-edge techniques from science and industry to put new predictive models, algorithms, data ingestion techniques, and computational frameworks in front of challenges in healthcare.
This posting is for a Senior Data Science Programmer, who will be responsible for designing, deploying, and improving infrastructure in support of data scientists. This individual will also be responsible for providing direct scientific support to data scientists, in the form of software development oversight (converting prototype code into highly-vectorized and documented codebases, as well as assistance on the algorithmic design of scientific workflows) as well planning the development trajectory of projects. In both of these capacities, the Programmer will have broad opportunity to deploy virtualized resources, define tooling and infrastructure, deploy workflows, and leverage cluster computing time.
Because the Programmer’s overall duties will be non-uniform, demanding effort in both short-timescale challenges and more extensive commitments, the ideal applicant will be a versatile developer with a diverse skill-set and a creative approach to solving complex problems. Moreover, the Programmer will need to be largely self-sufficient, with the skill to build their own toolchains and development environments, deploy much of their own supporting infrastructure (from the hardware layer, up through the OS and software stacks), and make informed decisions about the structure of processing pipelines and the integration of multiple systems. The Programmer will have a large degree of flexibility in defining the parameters of their development and implementation strategies and will have opportunity to collaborate with other senior developers.
Educational requirement: Master’s or Ph.D. degree in computer science, mathematics, or a related field.
- Strong background in scientific computing: Matlab, R, Python, and other programming languages with broad capabilities for statistical computing and data analytics
- Knowledge of core statistical techniques and theory
- Working knowledge of C and C++
- Good communications skills, fluent English
Desired additional skills and experience:
- Advanced background in computer science, especially scaling considerations for data-related applications
- Familiarity with Linux administration or systems engineering
- Experience with mathematical optimization, especially convex optimization or linear programming
- Experience leveraging databases, as well as NoSQL methodologies
- Interest in developing a strong skillset in data science or scientific and distributed computing
- Cross-language integration or UI development
The Senior Data Science Programmer will have duties including, but not necessarily limited to, the following:
1) Serve as a technical resource for the data science team
2) Design and implement computer code for solving complex data science challenges
3) Interface technically with Geisinger’s High Performance Computing environment
4) Manage the shared data and analytics resources for the data science group
A minimum of 3 years of general development experience or 1 year of development experience in a scientific computing (e.g., supercomputing) specialty
For more information and to apply online, visit
or contact Grace McCluskey at