NOA1941 Scientific Programmer-ASSISTT
I.M. Systems Group (IMSG)
College Park, MD

About $79,000 - $110,000 a year


I.M. Systems Group, Inc. (IMSG), leading a Scientific and Technical Support Team (IMSG Team, consisting of IMSG, Inc. and subcontracting companies) is looking for qualified scientific programmer and software engineer candidates to support NOAA’s Algorithm Scientific Software Integration and System Transition Team (ASSISTT) in College Park, Maryland.

ASSISTT specializes in transitioning science software from research to operations. Once operational, the software will process large amounts of input data from satellites and dozens of operational datasets maintained by NOAA, NASA, and other international weather agencies. The integration team within ASSISTT must review algorithms, ensure they meet coding and security standards, identify optimizations necessary for operations, and test that all necessary algorithm functionality is operationally ready. This requires our team to maintain a close relationship with researchers so that we understand the algorithm interfaces and are prepared to support all the necessary communication of data from the system into the algorithm.


Job Duties:
Provides programming support for the next generation NOAA weather satellites using industry standard software engineering techniques.
Support science algorithm integration and research-to-operation efforts.
Update code (refactor, debug, port) to work within NESDIS ground processing systems and to meet coding standards.
Work to implement new and legacy software to run in new ground systems.
Interact with science teams and users to understand requirements and identify improvements such that quality software will be deployed operationally.

Required Skills:
5+ years of experience in Fortran and/or C/C++.
5+ years of knowledge of Unix/Linux.
A basic understanding of Python or shell scripting for testing scientific codes.
Knowledgeable in good programming practices.

Desired Skills:
Teamwork and the ability to clearly communicate complex ideas.
Ability to quickly learn new skillsets and obtain scientific knowledge in remote sensing.
Experience with code management tools (e.g. Git/GitLab).
Experience with debuggers and profilers (e.g. gdb, TotalView, gprof, or Valgrind).
Excellence in developing or integrating scientific codes (any languages).

Education: BS/MS degree (with 2 years’ experience) with formal course work in physics, mathematics and computer programming