What Your Job Will Be Like :
Join Us in Pioneering Software Solutions for Computational Science and Engineering!
Software lies at the heart of modern scientific endeavors, prompting the need for robust engineering practices. The future demands sustainable ecosystems of software, rooted in open-source and open science principles. As the role of research software engineers gains prominence, our team is at the forefront of bridging software engineering with scientific exploration. Software is now central to the scientific enterprise, which has brought the question of how to engineer high-quality software systems to the fore. The future is one of sustainable ecosystems of software embracing open-source and open science practices and principles. Recent years have seen the emergence of the research software engineer as a professional designation and growing interest in building bridges to the software engineering research community. Making progress on advancing the state of practice in computational science and engineering (CSE) will require a deep understanding of the interplay between software technologies and human factors in the processes of scientific discovery.
We are in search of a passionate Postdoctoral Appointee dedicated to advancing software methodologies tailored for research-to-production in Computational Science and Engineering (CSE) domains. If you're driven by innovation and possess a keen interest in shaping the future of software engineering within CSE, we invite you to join our team. We seek a candidate focused on research in software methodologies for research-to-production CSE software, along with a curiosity about exploring, developing, adapting and adopting modern software engineering to the CSE software domain, including exploration of software productivity and sustainability metrics, development of tools and workflows, especially related to Agile methodologies built upon new and emerging software technology platforms. Activities will include working with research software engineers and the CSE teams that they serve to collaboratively create solutions that enhance productivity and sustainability for CSE research software products.
Responsibilities include but are not limited to :
- Spearhead the research and development of cutting-edge methodologies, metrics, tools, and best practices for CSE research software, leveraging platforms like GitHub and Docker and related modern software platforms.
- Integrate emerging AI / ML technologies into software engineering practices and explore reciprocal benefits for AI / ML projects from software engineering techniques.
- Engage with the global scientific community related to CSE software topics through publications, presentations, and active participation in relevant forums.
- Collaborate effectively with software teams at Sandia and other DOE laboratories to enhance productivity and sustainability in CSE research software products.
This position based at our main campus location in beautiful Albuquerque, New Mexico, USA.
Comprehensive support for professional growth, including funding for travel, registration, and accommodation expenses related to relevant conferences, workshops, and symposiums provided.
Postdoctoral Appointee Salary is $95,500.00 / annual for NM Location.
Qualifications We Require :
Possess, or pursuing, a PhD in software engineering, computer science or related STEM field (PhD must be conferred within 5 years prior to employment) or near completion in a STEM field with a strong emphasis on softwareExperience in analytical thinking, experiment design, data analysis, and communicationExcellent written and verbal communication skills, as demonstrated through a track record of research in relevant fields, through publications, presentations, or project contributions including publishing research findings and presenting at conferencesExperience in programming languages relevant to HPC environments (C / C++, Fortran, Bash, Python, Julia, R, or similar languages) and general knowledge of Linux shell environments and scriptingExperience with one or more of the following : configuration management, issue tracking, continuous integration, software testingUS citizenship desirable but not requiredQualifications We Desire :
Ability to conduct research independently and in collaboration with peers.Experience with modern high-performance computing development stack and software development lifecycleStrong team player with interpersonal skills, adept at multidisciplinary collaboration.Experience in project management, agile methodologies, and / or other methods for organizing and accomplishing complex R&D projectsKnowledge of languages, libraries, and tools relevant to HPC contexts, including experience with HPC queue management software (e.g., PBS, Slurm, Flux); ability to compile, configure, and integrate open-source applications into HPC environment; experience with performance tuning; experience with programming for shared and distributed memory parallelism (OpenMP, MPI) and accelerators (GPUs).Expertise in debugging, testing, and resolving complex software issues.Proficiency in Agile methodologies and DevOps practices.Experience crafting, maintaining, and automating (unit, integration, performance, acceptance) test suitesExperience with Agile software quality engineering and / or full software development lifecycleAbility to use techniques to resolve complex software problems in applications and libraries, e.g., debugging tools, unit tests, and other techniquesExperience with modern DevOps infrastructure and practices (e.g., Git, CI / CD, GitLab and its workflows, Jenkins, VMs and / or containers, correctness testing including static, coverage, and memory analysis) and the use of branches and pull requests for change management