Research Software Engineer
Job Summary
The cyberinfrastructure team at the Wisconsin IceCube Particle Astrophysics Center (WIPAC) at the University of Wisconsin-Madison is seeking an engineer to join our software and operations team. WIPAC is a scientific center within the Office of the Vice Chancellor for Research. WIPAC research focuses on exploring the high energy universe, including managing the operations of the IceCube Neutrino Observatory at the South Pole.
Our team manages significant resources (15+ PB, thousands of CPUs and GPUs) distributed around the world, which require sophisticated infrastructure orchestration. This position will design and maintain the software behind the deployment of scientific workloads and supporting infrastructure across our diverse computing and storage resources.
As part of the cyberinfrastructure team, the hired individual will:
- Develop, deploy, and maintains scientific-supporting applications, including specifications, testing, CI/CD, documentation, and training materials
- Review pull requests for applications and libraries within the team
- Communicate with users on projects that affect them
In addition to the team at WIPAC, you will work with a diverse international community of researchers in a variety of scientific disciplines to ensure that our computing systems meet the current and future needs of our researchers, as well as adapting to incorporate new technology and software over time. We have faculty, students, and staff from around the globe, and routinely work with international colleagues.
Opportunities for professional development, conferences, and additional training and education are provided. This position will work in our office in Madison, WI. Flexible schedules and hybrid work options are available. Job level (either Software Engineer/Developer II or Software Engineer/Developer III) and salary are NEGOTIABLE for more experienced candidates.
Key Job Responsibilities
- Reviews application design specifications, codes new applications, and makes enhancements to existing applications
- Performs integration, migration, configuration, maintenance, and security of applications and services
- Contributes to the development of data structure and systems performance strategies
- Trains and provides technical guidance to lower level staff
- Designs and implements test plans, and prepares systems test data
- Prepares program documentation and training requirements
- Develops, prepares, or modifies technical specifications for complex projects, system integrations, and upgrades
- Conducts systems analysis, reviews and interprets system requirements, and develops detailed system design specifications for system integration and upgrades
- Reviews application modules for quality assurance and checks compliance with application architecture standards
- Conducts analysis for the evaluation and selection of vendor software solutions and packages
- Leads sub-functional team for application development or enhancement
Unlock this job opportunity
View more options below
View full job details
See the complete job description, requirements, and application process


