Hiring at Sandia National Laboratories

We’ve got a couple positions open within my team, working on the Sierra project at Sandia National Laboratories in sunny Albuquerque, New Mexico[1] (where you can soak in our blue skies and sun that shines 310 days a year). The Sierra project is a conglomeration of finite element analysis engineering codes designed for high performance computing environments (typically Linux but also other *nix systems), used for a wide variety of applications in heat/fluid/solid/structural mechanics[2]. My team, the Sierra Infrastructure team, is responsible for providing the tools and expertise to make development and distribution of Sierra (and related packages we couple to[2]) efficient and convenient, and the necessary support to enable effective analysis with Sierra.

This means you get to dabble in a large variety of programming languages, write software that enables people to do cool engineering, install software on and work on everything from supercomputers to smaller clusters (hundreds or thousands of processors) to beefy workstations. For daily work, nearly everyone has a access to a (personal) workstation with an 8-CPU (dual quad-core) Nehalem chip and 24GB RAM as well as a 24-30 inch monitor…though these machines are getting a bit old and we might get an upgrade later this year. 🙂

Required:

  • Extensive experience with Linux and/or other *nix systems.
  • A strong background in computer science.
  • A current DOE Q clearance, or the ability to obtain one[3], which typically requires US citizenship.
  • Familiarity with scripting languages such as Python and Bash
  • Reasonable experience with compiled languages (C++/Fortran)
  • Basic understanding of best practices in software engineering (version control, unit/system testing, peer review, patches, etc.)
  • Bachelor’s degree (preferably in computer science, though other science or engineering field knowledge is also often beneficial)

Desirable:

  • Intimate knowledge of high performance computing software tools and libraries (e.g. MPI)
  • Extensive experience with Python and Bash
  • Extensive experience with C/C++, Fortran 77, Fortran 90+
  • The ability to obtain an SCI clearance
  • Direct experience with the Git version control system
  • Knowledge of the internals of git (knowledge of plumbing commands is good, familiarity with git source code even better)
  • Advanced degree(s) and/or five to ten years experience in software development and/or system administration
  • Experience with build systems (especially switching from BJam (Boost Build) to CMake), and report dashboards (esp. Dart and CDash)
  • Familiarity with static and dynamic analysis tools
  • Willingness (and patience) to help fight the good fight to move us towards both using more open source software and releasing more of our software as open source 🙂

Got questions? Feel free to email me. Sound cool? Apply (before the end of the month).

If I’ve piqued your curiosity, but this isn’t quite what you had in mind, there are other openings on other Sierra teams too[4].

 

[1] Relocation assistance is available for qualified candidates (within the continental US).

[2] Sierra is used in analyses including heat transfer, enclosure radiation, turbulent flow, fires, participating media radiation, high and low mach flows, phase change, modal analysis, acoustics, contact, large deformations, etc. etc. It encompasses millions of lines of code and several teams. There are also a number of related packages not yet part of Sierra, such as Cubit, CTH, and Alegra; we often couple with these other codes and thus also distribute them. Some of the code is open source, a lot more should be, and more is becoming so (though some of it will likely never be open source, unfortunately).

[3] My team doesn’t actually do any classified work, but we do need to work with people who do, and we need to periodically install, update, or support our software on such systems.

[4]