Place of Performance:
NOAA Fisheries, Northwest Fisheries Science Center
Fish Ecology Division
2725 Montlake Boulevard East
Seattle, Washington 98112
Brief Summary:
NOAA is seeking an experienced Senior C++ Programmer to improve and maintain the COMPASS ecological model. The work includes developing software features, resolving technical issues, improving performance, and collaborating with NOAA scientists. .
Requirements:
- Must have a degree in computer science or a related field.
- Must have at least 10 years of applied programming experience.
- Must demonstrate strong C++ proficiency through relevant completed projects.
- Must have experience working with large, complex, object-oriented C++ applications.
- Must be able to work with C++17, Qt 6, Boost, and Git.
- Must be able to compile, test, troubleshoot, and deploy software builds.
- Must be able to create Windows installer packages using NOAA’s documented process.
- Must communicate clearly and professionally with NOAA scientists and project personnel.
- Must provide regular progress reports and update technical and user documentation.
- Must be able to complete required NOAA security screening and information-technology training.
- Must protect NOAA data and comply with applicable information-security requirements.
- Coursework or experience in ecology, fisheries, oceanography, natural resources, or a related field is strongly preferred.
- Experience developing ecological models used to support management decisions is strongly preferred.
Duties:
- Complete development of the COMPASS graphical user interface.
- Add controls that allow users to modify model parameters and environmental data, including flow and temperature.
- Complete the adult fish passage module for upstream migration and dam passage.
- Develop ecological functions for reservoir survival, travel time, tailrace delay, fish-ladder movement, fallback, and harvest.
- Work with NOAA scientists to calibrate model parameters using radio-telemetry and PIT-tag data.
- Troubleshoot, debug, test, and maintain approximately 230,000 lines of C++ code.
- Implement model changes requested by NOAA’s West Coast Region.
- Support analyses related to salmon management, hydropower operations, litigation, and the Endangered Species and Magnuson-Stevens Acts.
- Improve software speed, efficiency, memory usage, reliability, and ease of use when necessary.
- Maintain existing acceptance-test parity and confirm that updates produce correct results.
- Create and deploy Windows builds while maintaining compatibility with Linux and macOS where practical.
- Document completed work and provide evidence that each update functions as expected.
- Support the graphical interface and adult passage module during any exercised option years.
- During Option Year One, add tributary travel-time and survival functionality and other NOAA-prioritized ecological features.
- During later option years, continue maintenance and expand features based on previously completed work.
- Obtain written NOAA approval before performing work that expands the agreed scope.
- Ensure all code and documentation developed under the contract are delivered to and become the property of the U.S. Government.