Scientific Applications Programmer supporting the Environmental Modeling Center for weather prediction. Developing workflows and tools for mission-critical weather prediction systems with a collaborative team environment.
Responsibilities
support the Environmental Modeling Center (EMC) of the National Centers for Environmental Prediction (NCEP)
carry out research, development, and operational transition of ingest, processing, quality control, and handling of environmental observations
develop, maintain, modernize, and expand workflows for mission-critical weather prediction systems
work with a team of other software developers and physical scientists to develop cross-application tools
contribute to the development of critical workflow infrastructure for major modeling systems
comprehending and adhering to operational computing standards in support of operational code deliveries
port workflows to new high-performance computing and/or cloud platforms
develop user interfaces that allow scientists to easily set up experiments
conduct profiling of performance-critical model code and identify and implement performance improvements
maintain documentation standards that support community model development
incorporate modern software management practices including unit testing, continuous integration, and agile development techniques
maintain and modernize the CMake-based build systems
Requirements
Candidates must be a U.S. Citizen or U.S. Permanent Resident (Green Card Holder)
must have lived in the U.S. for 3-5 years prior to application
must have the ability to obtain a Public Trust security clearance
background in meteorology/NWP, physical sciences, mathematics, or closely related field with demonstrated numerical modeling and related scientific computing experience
experience with data assimilation (JEDI, SOCA) is strongly preferred
experience with ocean and sea ice models, coupled frameworks, and scientific data formats (HDF5, NetCDF, GRIB/2) are beneficial
proficiency in shell scripting, automation (including templated approaches), version control systems (Git), and developing software in a Linux or similar environment
expertise and demonstrated proficiency in Python and Fortran (including F95+)
demonstrated working knowledge of modern software engineering practices (requirements gathering, design, prototyping, version control, integration, testing, and documentation)
demonstrated experience in developing, working with, and running Earth system models or technically similar workflows on high-performance computing platforms including distributed-memory (MPI) and preferably also shared-memory (OpenMP, pthreads) parallelization
experience with using parallel job schedulers (SLURM, PBS) is strongly preferred
experience with using workflow managers (Rocoto, ecFlow, Cylc)
GPU experience is a plus
familiarity with cross-platform package management, build, and test systems, especially CMake/CTest and pip
experience with using and developing environment modules (Tcl modules, Lmod) is strongly preferred
experience with package managers (EasyBuild, Spack) and containers (Docker, Apptainer/Singularity, Charliecloud) is a plus
good verbal and written communication skills in English
ability to work effectively and professionally as part of a diverse, customer-focused team and collaborate with software engineers and scientists across different teams and agencies
experience working in Agile/Scrum environments is preferred.
Mobile Developer participating in front - end web projects for a fintech team. Collaborating on user interface integration and ensuring optimized performance and accessibility.
Developer Analyst contributing to Topaz's innovative financial market solutions. Collaborating on software development while enhancing user experiences and resolving technical challenges.
Senior Developer Technology Engineer optimizing CPU performance for large scale applications at NVIDIA. Collaborating with industry experts to publish optimization techniques and influence hardware design.
Operations Engineering Support 2 role at Celestica focusing on troubleshooting, repairing, and maintaining complex electromechanical systems in a manufacturing environment.
Technical Support role in engineering operations analyzing schematics and troubleshooting electromechanical systems. Collaborating with engineers and performing maintenance on assembly equipment.
Microsoft Developer responsible for Dynamics 365 solutions and ERP integration. Collaborating with global teams to deliver high - quality development projects.
Senior Programmer maintaining and enhancing AgriSompo's crop insurance application. Collaborating with technical leads and engineers to deliver scalable and reliable solutions.