Senior Software Engineer for Climate Modeling
Nice to meet you, we're Vulcan.
Empowered by our founder Paul Allen’s vision, our mission at Vulcan is to improve our planet by tackling the world’s toughest problems. We do that through scientific and technological breakthroughs, catalytic philanthropy, and inspirational experiences, motivated by Paul’s lifelong question: “What solution should exist that doesn’t?”
What you’ll tell your family you do:
“One of the most pressing and complex challenges currently facing mankind is climate change. I’m building vastly improved models that run on the fastest supercomputers in order to improve projections of Earth’s future climate. This will help mankind’s effective mitigation of and adaption to climate change.”
About this role:
Vulcan Inc. has launched a strategic initiative in partnership with top-notch climate research institutions to build a novel global climate model running on leadership class high-performance computing systems. As a Senior Software Engineer of a small and agile team, you will make significant contributions to the design and implementation of the climate model code as well as the underlying software stack and libraries. You are responsible for several software components and advise and coach team members.
In detail you will:
- Participate in all phases of the software engineering process, including research, design, development, integration, testing and deployment.
- Advise and coach other members of the multidisciplinary software team.
- Develop and optimize scientific code for massively parallel architectures with heterogeneous node designs with accelerators such as graphics processing units (GPUs).
- Use agile methods for managing the software development process.
- Design and implement novel programming paradigms such as source-to-source translators and domain-specific languages tailored for weather and climate modeling.
- Understand and analyze the interplay of hardware and software architectures of modern high-performance computers.
We would love to hear from you if:
- MS or PhD in Computer Science, Computational Science or related field.
- In-depth knowledge of C++, high-performance computing and parallel programming.
- Proven expertise in several software development languages, preferably also Python.
- Experience in some of the relevant HPC technologies (MPI, OpenMP, OpenACC, CUDA) and hardware architectures (GPU, Xeon Phi, ARM).
- 5+ years’ agile software development and CI/CD experience.
- Proven track record of delivering solutions for challenging problems.
- Positive attitude, a sense of empathy, and a talent for mentoring colleagues.
- Excellent verbal and written communication skills.
- Good sense of humor and desire to pause and enjoy the big wins with teammates.
How to really knock our socks off:
- Experience with the development of domain-specific languages (e.g. GridTools Framework) and compiler toolchains (e.g. LLVM/clang).
- Experience in atmospheric modeling, numerical weather prediction or climate modeling.
Special remarks regarding work environment, if applicable
- Travel estimated to be 10%.
- Anticipated term of appointment is two years.
- Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Vulcan Inc. is an equal opportunity employer. Every qualified applicant will be considered for employment. We do not discriminate based on race, color, religion, gender, sexual orientation, age, national origin, religion, marital status, sex, disability, political ideology, or veteran status, or other protected class.
If you need accommodation during the application or hiring process, please contact Human Resources at email@example.com or your recruiter.