Plasma Physics Code Developer
Avalanche Energy
Software Engineering
Washington, DC, USA
Posted on Oct 5, 2024
Avalanche is a Seattle-based start-up developing compact fusion machines for clean, energy-dense power generation at a scale you can hold in your hands. Our unique approach allows us to build, test, break, learn and iterate in days. The modular design is designed to provide power to applications from austere environments to deep sea vehicles and maritime transport to lunar power.
We know we have an incredibly ambitious mission, and that it requires a wide combination of skills, attitude, and grit to make it happen. If you have a passion for abundant energy, and how we can improve life with it, we want to have a chat with you.
Avalanche might be fit for you if: You are self-motivated, energized by problem solving and working closely with hardware. You enjoy hands-on, creative collaboration with a small, tight-knit team you can work with, laugh with, and learn with on a wide variety of topics. You can learn and pivot between priorities when necessary and you can slide the headphones on, focus, and auger deep into a single topic as needed. You thrive in an atmosphere of development, and you are an ardent learner who’s always looking for ways to grow and improve.
About the role: We are seeking an experienced C++ Software Developer to join our team and contribute to the development, debugging, and implementation of the WarpX code. WarpX is a state-of-the-art code originally designed for plasma-based accelerator simulations that we have been advancing and utilizing as an integral tool to understand plasma behavior within the Orbitron. Your role will be crucial in optimizing and advancing the capabilities of WarpX in order to meet the demands of these complex scientific computations.
In This Role, You Will
We know we have an incredibly ambitious mission, and that it requires a wide combination of skills, attitude, and grit to make it happen. If you have a passion for abundant energy, and how we can improve life with it, we want to have a chat with you.
Avalanche might be fit for you if: You are self-motivated, energized by problem solving and working closely with hardware. You enjoy hands-on, creative collaboration with a small, tight-knit team you can work with, laugh with, and learn with on a wide variety of topics. You can learn and pivot between priorities when necessary and you can slide the headphones on, focus, and auger deep into a single topic as needed. You thrive in an atmosphere of development, and you are an ardent learner who’s always looking for ways to grow and improve.
About the role: We are seeking an experienced C++ Software Developer to join our team and contribute to the development, debugging, and implementation of the WarpX code. WarpX is a state-of-the-art code originally designed for plasma-based accelerator simulations that we have been advancing and utilizing as an integral tool to understand plasma behavior within the Orbitron. Your role will be crucial in optimizing and advancing the capabilities of WarpX in order to meet the demands of these complex scientific computations.
In This Role, You Will
- Perform numerical analysis of the algorithm properties such as accuracy, stability, scalability. You will become the expert at Avalanche when it comes to understanding the code behind WarpX.
- Collaborate with scientists and WarpX developers at LBNL to generate state-of-the-art algorithms and code for the modeling of fusion plasma within the Oribitron.
- Work closely with Avalanches computational physicists to identify, understand, and surpass code limitations. Optimize code for better performance on modern HPC architectures.
- Create and maintain detailed documentation for new and existing features, ensuring that the codebase is accessible and understandable for current and future developers.
- Implement new features and functionalities in WarpX, tailored to specific scientific needs.
- Develop and maintain comprehensive unit tests and integration tests to validate the correctness and performance of the WarpX code.
- Work closely with a multidisciplinary team of physicists, engineers, and software developers to understand the scientific requirements and translate them into software solutions
- Minimum of 5 years relevant experience in software development
- Comprehensive knowledge and understanding of C++ , multi-threaded programming techniques, Python and modern programming practices
- Experience profiling and optimizing a codebase
- Demonstrated experience in analysis of accuracy and stability of numerical algorithms
- Simulation experience with applications to plasma physics or electromagnetics
- Knowledge in the development of numerical methods for GPUs
- Experience with modern C++ and Python for scientific computing and High-Performance Computing (MPI, OpenMP, CUDA)
- Familiarity with software design patterns
- Familiarity with debugging tools and techniques in a large codebase
- Experience with version control systems (e.g., git)
- Experience with automated build, test, and deployment workflows
- Strong analytical and problem-solving skills with a focus on debugging and optimization
- Excellent communication skills, both written and verbal, with the ability to collaborate effectively in a team environment
- Past experience in the games industry working on game engines, game physics or VFX
- Experience with the implementation of physics systems in a game engine; including core algorithms, performance optimization, etc.
- Experience with cloud computing services
- Experience with the development of Particle-In-Cell methods
- Experience with high-performance computing (HPC) environments
- Experience with batch jobs scheduling systems (Slurm)
- A Master’s or Ph.D. in a relevant field is preferred
- Understanding of plasma physics, accelerator physics, or related fields is beneficial but not required
- Excellent medical, dental and vision benefits: We pay 100% of your premiums
- 10 paid holidays and company-wide December holiday break
- Generous paid vacation and sick time
- Small, tight-knit team with low barriers to action
- Exposure to a wide variety of problems for unparalleled, hands-on professional growth
- Weekly employer provided team meals, a well-stocked kitchen, and employee events on and off-site
- Meaningful equity in the form of stock options