Software Engineer - Numerical Weather Prediction
Spire Global is a space-to-cloud analytics company that owns and operates the largest multi-purpose constellation of satellites. Its proprietary data and algorithms provide the most advanced maritime, aviation, and weather tracking in the world. In addition to its constellation, Spire’s data infrastructure includes a global ground station network and 24/7 operations that provide real-time global coverage of every point on Earth.
Spire Global is seeking a software engineer to support its development of weather-related products based upon Radio Occultation (GNSS-RO) soundings from its unique satellite constellation.
The candidate will join the Spire Weather team to develop and support customer-facing weather-prediction products built on complex scientific-software workflows in an all-cloud IaaS/HPCaaS context.
This is an exciting opportunity for a motivated engineer to work on a customer-focused development team that is leveraging an unprecedented large volume of GNSS-RO satellite data to create superior weather forecast products. The successful candidate will join the weather team at the Spire branch office in Luxembourg.
Responsibilities of your role:
- The successful candidate will work with Spire weather team software engineers in both Luxembourg and Boulder, CO USA to develop a new regional Numerical Weather Prediction (NWP) modeling capability and to improve robustness and monitoring of automated operational workflows running 24x7 on a mix of IaaS and HPCaaS resources.
- Focus will be on meeting customer requirements and SLAs. Responsibilities will include collaborating with other engineers and operations staff in the following areas:
- Develop a new regional NWP modeling capability building upon tools and techniques already in 24x7 operations to support Spire’s global NWP product suite
- Participate in iterations of design, implementation, test, refactoring, and feedback (from customers and other project staff)
- Manage deployments onto cloud-based IaaS and HPCaaS platforms
- Improve monitoring of operations automation
- Perform fault analysis and diagnosis
- Suggest process improvements
- Develop and maintain runbooks for operations staff
- Train and incorporate feedback from operations staff
- BS degree in Computer Science or Software Engineering or equivalent working experience
- Experience with NWP applications, software stacks, data formats, and commonly-used languages (Fotrtan, C)
- Experience with HPC and job schedulers (Slurm, MOAB/Torque)
- Experience with parallel programming frameworks such as MPI, OpenMP, and Dask
- Familiarity with GNU/Linux and shells (e.g. bash)
- Python skills, including packaging/deployment (conda, PyPI) experience
- Commitment to modern software engineering best practices: Agile methodologies, revision control systems, testing & code quality tools (unittest, Pylint), continuous integration (Travis, Bitbucket Pipelines), configuration-management tools (Puppet, Ansible)
- Excited to support (monitor/troubleshoot/correct) complex workflows on hybrid HPC/cloud platforms, and to help refine and document related procedures
- Proven ability to work as part of an international collaborative software development team
- Experience with traditional build systems (make, CMake, Autotools)
- Experience working with scientific teams
- Exposure to scientific Python stack (NumPy, Anaconda)
- Experience with cloud platforms (AWS, etc.)
- DevOps experience
Spire is Global and our success draws upon the diverse viewpoints, skills and experiences of our employees. We are proud to be an equal opportunity employer and are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, marital status, disability, gender identity or veteran status.