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. .
The NOAA Northwest Fisheries Science Center requires an experienced Senior C++ Programmer to develop and improve the Comprehensive Passage (COMPASS) model. COMPASS predicts how dam and reservoir operations affect juvenile salmon and steelhead survival and passage through the Columbia River hydropower system.
The programmer will work closely with NOAA scientists to complete the graphical user interface, develop ecological modeling features, troubleshoot and debug the program, improve performance, and maintain technical and user documentation.
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.