The Scientific Computing operational area at the University of Wisconsin-Madison is seeking a Software Engineer/Developer II to provide software development and engineering support for four projects that handle large volumes of specialized science code. These projects involve maintaining and distributing real-time event warning and monitoring software systems, analyzing satellite data for wildfire and volcanic events, producing and analyzing long-term atmospheric infrared spectra data, and integrating new meteorological product software into secure cloud-resident NOAA processing systems.
Requirements
- Working knowledge of Python language, Git source management, software containerization (e.g. Docker).
- Familiarity with Continuous Integration / Continuous Deployment, Agile software development methodologies, and Gitlab/Github collaborative software development.
- Ability to pass programming test that may be administered at time of interview.
- Experience with data analysis toolsets such as Pandas and Dask; systems dashboarding tools; databases and web application / API development.
- Experience writing and maintaining numerically intensive code in programming languages such as C/C++, Fortran, Go, Rust, and/or shell scripting.
- Working knowledge of Linux systems administration, Kubernetes, commercial cloud environments (e.g. AWS/GCP/Azure), and computer networking.
- Strong analytical and problem-solving skills
Responsibilities
- Reviews application design specifications, codes new applications, and makes enhancements to existing applications
- Tests and debugs programs, and prepares systems test data
- Prepares program documentation and training requirements
- Develops or modifies technical specifications for moderately-complex projects using disciplined software development practices
- Communicate with government, industry, and research personnel to understand, establish, and meet technical and process requirements for time- and mission-critical software systems.
- Prepares detailed system design specifications for system integration and upgrades
- Transition and adapt software to new deployment environments.
Other
- Present progress and results to internal team members as well as external collaborators, funders and users.
- Must successfully pass a background check for a NOAA Common Access Card (CAC) in order to comply with contractual prerequisites.
- Must upload a Letter of Qualifications and Resume to candidate profile.
- Associates or Bachelors degree in Computer Science or related field.
- Demonstrated minimum of 2 years professional programming experience reflected in cover letter or resume.