Lawrence Livermore National Laboratory (LLNL) is seeking an HPC Software Developer to support a variety of software development assignments within the Weapon Simulation and Computing (WSC) Computational Physics Program. The role involves contributing to technical projects using creativity and imagination in an environment focused on problems of interest to LLNL and Department of Energy (DOE) programs.
Requirements
- Proficiency in object-oriented programming with high-level languages such as C++ and interpreted languages such as Python.
- Experience developing software with either Python or C++ within Linux and/or Windows environments.
- Experience with source code control systems, such as Git.
- Familiar with developing HPC software including distributed memory computing with MPI and on-node parallelism for CPUs and GPUs.
- Experience providing innovative approaches and applying new technologies to broadly defined tasks and projects.
- Knowledge and broad experience designing, implementing, deploying, and maintaining software systems using object-oriented analysis, design, and programming techniques.
- Experience with OpenMP, parallel programming, GPU programming, containers, continuous integration
Responsibilities
- Employ fundamental software engineering methods using industry standard software development practices and modern programming languages and operating systems.
- Develop a range of applications including scientific, graphical user interface, database, and visualization applications.
- Participate in the requirements definition, analysis, design, implementation, debugging, testing, and optimization of computer programs on HPC platforms.
- Participate in the development and maintenance of user documentation.
- Contribute to the fulfillment of technical projects and organizational objectives functioning as an effective team member on multi-disciplinary teams.
- Engage other developers and stakeholders frequently to share relevant knowledge, opinions, and recommendations.
- Design, implement, deploy, and maintain software systems using object-oriented analysis, design, and programming techniques.
Other
- Ability to obtain and maintain a U.S. DOE Q-level security clearance which requires U.S. Citizenship.
- Bachelor’s degree in Computer Science, Computer Engineering, or related field, or the equivalent combination of education and related experience.
- Experience approaching difficult problems with enthusiasm and creativity.
- Effective interpersonal, verbal, and written communication skills necessary to collaborate in a technical team environment and, document technical information.
- Ability to work effectively with minimal guidance and experience providing innovative approaches, applying new technologies to broadly defined tasks and projects with broad experience applying effective analytical and problem-solving skills for complex problems.