C++ Programmer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+3 more
Job description
We are seeking an experienced Senior C++ Programmer to support the continued development, enhancement, and maintenance of the Comprehensive Passage (COMPASS) model, a complex ecological modeling application used to predict the effects of alternative dam and reservoir operations on juvenile salmon and steelhead survival and passage through the Columbia River hydropower system., The successful candidate will work closely with our client s scientific and technical personnel to troubleshoot and debug the existing application, implement new ecological features, enhance the graphical user interface (GUI), improve model performance, and maintain the existing C++ codebase., * Develop, enhance, troubleshoot, debug, and maintain a large and complex C++ application.
- Support an existing COMPASS codebase consisting of approximately 230,000 lines of C++ code.
- Complete and enhance the applicationâs graphical user interface (GUI).
- Develop functionality allowing users to modify model parameters and environmental data such as flow and temperature.
- Create and maintain the Windows installer package for the GUI.
-
Complete development of the adult fish passage module, including functionality related to:
- Dam tailrace delays
- Adult fishway passage timing
- Reservoir travel time and survival
- Fallback over dams
- Harvest-related losses
Implement new ecological and fisheries modeling functionality developed in collaboration with project scientists.
Expand model capabilities related to tributary travel time and survival.
Perform routine application maintenance and minor modifications.
Identify and implement opportunities to improve model speed, efficiency, memory utilization, and overall functionality.
Maintain compatibility with the existing development environment and code architecture.
Work collaboratively with NOAA personnel to investigate technical issues and determine appropriate solutions.
Maintain technical and user documentation.
Provide regular progress reports and participate in scheduled and ad hoc project meetings.
Requirements
- Degree in a computer science field.
- 10+ years of applied programming experience.
- Demonstrated proficiency and significant hands-on experience with C++.
- Ability to provide examples of successfully completed projects using C++.
- Strong understanding of object-oriented software design and development.
- Experience maintaining, debugging, and enhancing large and complex software codebases.
- Strong analytical and troubleshooting skills.
- Ability to collaborate effectively with technical personnel, scientists, and other project stakeholders.
- Strong written and verbal communication and technical documentation skills.
Technical Environment: C++17,Qt 6,Boost C++ Libraries, Git, Object-oriented C++ architecture, windows development and deployment, Windows, Linux, and MAC
Strongly Preferred Qualifications
-
Coursework, education, or professional experience in one or more of the following:
-
Ecology, Fisheries, Oceanography, Natural resources, Related environmental or biological sciences
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role â technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
7 Important Tips That Every Software Developer Should Know
RĂŠsumĂŠ-Driven Development: How IT trends affect the job market for software developers
How We Built a Worry-Free System That Runs for 10+ Years â And What Weâd Do Again
Dev Digest 131 - AI'm not sure about OSS