The Pittsburgh Supercomputing Center (PSC) is seeking two experienced Software Developer’s to join PSC's Public Health Applications group. This is a dynamic opportunity for someone who thrives in an interesting and challenging work environment.
PSC’s Public Health Applications group empowers public health decision-making to mitigate a wide range of global public health threats including influenza, malaria, obesity, and antibiotic-resistant bacteria. The diverse team includes scientists, modelers, software developers, and high-performance computing (HPC) specialists. The Public Health Applications Group works closely PSC’s other science and technology groups, particularly Artificial Intelligence and Big Data, Advanced Systems, and User Support for Scientific Applications.
You will contribute to public health modeling, translating modeling tools to new and broader audiences for national and international public health decision support. You will also work collaboratively to develop large-scale simulation software for cutting-edge computational hardware, develop data-intensive analyses and visualizations, and couple sophisticated software tools with accessible, user-focused services and interfaces. Your work will entail publishing, presenting, and leading or contributing to attracting future funding.
Core responsibilities will include:
Work closely with collaborators at PSC and other institutions to facilitate advances in computational public health modeling.
Prepare documentation, examples, and training materials, and contribute to workshops, briefings, and broad efforts in education, outreach, and training.
Develop research opportunities and attract external funding. Lead or assist with the development of proposals to national agencies, foundations, and other entities.
Document results, communicating significant findings through publications, conferences, or other professional channels.
Support the development of computationally demanding and data-intensive modeling, analysis, and visualization workflows.
Develop test suites and best practices, conduct performance analyses, interpret results, and assist with the design, specification, and optimization of relevant systems and software.
Some travel may be required, as well as the flexibility to work effectively with external collaborators in different time zones.
You should have strong attention to detail and a team-oriented approach. Adaptability, excellence, and passion are vital qualities within the Supercomputing Center. Inclusion, collaboration and cultural sensitivity are valued competencies at CMU. Therefore, we are in search of a team member who is able to effectively interact with a varied population of internal and external partners at a high level of integrity. We are looking for someone who shares our values and who will support the mission of the university through their work.
Bachelor's degree in computer science or other quantitative or computational discipline, or equivalent combination of training and experience; Advanced degree (MS, PhD) preferred
Minimum of three years of experience, including academic coursework, computer science or other quantitative or computational discipline and demonstrated success in developing data-intensive workflows and/or applications required
Peer-recognized expertise in developing data-intensive modeling applications; substantial personal contributions to publications, awards, and grants for research in these fields highly desired
Demonstrated experience with C++/C, Java, Python, R, and/or other relevant languages
Solid understanding and practical knowledge of Linux/UNIX systems; experience working in Linux High Performance Computing (HPC) cluster environment (PBS Torque or Slurm)
Extensive familiarity with commonly used scientific analysis software (e.g., NumPy, SciPy, pandas, Jupyter notebooks, ggplot2, plyr, data.table, R Markdown, knitr)
Experience developing scalable web applications and services using frameworks (e.g. Django, Flask, Bottle)
Ideal candidate will demonstrate:
Excellent analytical, technical, and problem-solving skills
Ability to work independently and as a part of a team on multiple concurrent projects
Excellent communication, technical writing, and public presentation skills
Ability to apply mastery and broad understanding in a specific field (e.g., machine learning or statistics) to practical scientific or technical projects in other fields
Experience writing, installing, testing, and documenting software applications
Demonstrated ability to plan and execute individual and collaborative research
Experience acting as a team leader or technical project manager
Clear understanding of workflow development for complex, data-intensive applications
Strong understanding of computer hardware and its performance implications
Experience developing shared-memory and distributed-memory parallel code
Computational workflows and cluster computing
Machine learning, statistics, large-scale data analysis