Software Stack Engineer
Job ID
5712
Location
SLAC - Menlo Park, CA
Full-Time
Regular
SLAC Job Postings
Position overview:
Do you enjoy collaborating with a diverse group of people to solve complex challenges? Does contributing to breakthrough discoveries in science and working with unique experimental instrumentation in a world-leading scientific research environment excite you? The Photon Controls and Data Systems (PCDS) Department within the Linac Coherent Light Source (LCLS) Directorate at SLAC is seeking a Software Stack Engineer to design, implement, and deploy customized software installations for Data Acquisition, and Data Analysis systems for the Hard X-ray science instruments (X-ray Pump Probe (XPP), X-ray Correlation Spectroscopy (XCS), Molecular Femtosecond Crystallography (MFX), and Coherent X-ray Imaging (CXI)).
Reporting to the Data Management Department Head, the Software Stack Engineer will be a member of a multidisciplinary team of scientists and software developers focused on developing and deploying software solutions to support scientific instrumentation, data acquisition and data analysis systems. This position will also work with scientific and operations support staff involved in advancing scientific instrumentation capabilities. LCLS is the world’s first hard x-ray free electron laser (FEL) with unprecedented capabilities in photon energy range, peak power, and pulse lengths. There are seven independent instruments currently in operation, which are specifically designed to utilize the exceptional beam characteristics of the LCLS to probe the structure and dynamics of matter at atomic size and timescales. The evolution of science and experimental techniques on these instruments, along with upgrades in the x-ray FEL source and optical lasers (LCLS-II), require regular improvements and updates to the supporting software platforms and the design of customized software deployments which span different programming languages and support libraries.
See https://lcls.slac.stanford.edu/ for more on LCLS and the unique capabilities of our instrument facilities.
Your specific responsibilities include :
Plan, design and deploy mixed-programming language software stacks, with automated solutions for building and deploying software packages and environments.
Reconfigure, adapt and deploy software stacks to meet experimental needs; deploy software environments for specific Data Analysis and Data Acquisition requirements, and for the support of new instrumentation.
Support users of the scientific instruments in running self-developed data analysis software within the LCLS software framework, consulting with external software developers and designing integrated solutions.
Additional opportunities include development toward other core capabilities of the CDS systems including:
Monitoring and analysis of Data Retrieval and Data Analysis software performance and design of performance-focused software solutions.
Design and deployment of automated tests that assess the performance of the Data Retrieval and Data Analysis software on a wide range of scientific data, with the goal of performance optimization.
Design and development of Graphical User Interfaces that facilitate the deployment and use of the software stacks and frameworks.
To be successful in this position you will bring:
Bachelor's degree in physics, computer science, engineering or related discipline and 3 years of relevant experience in scientific data analysis, and scientific software deployment and use. Advanced degree strongly preferred.
Ability to learn and understand the workings of a broad range of scientific software and of software packaging/deployment solutions.
Ability to understand the basic functionality and scientific purpose of x-ray science instruments and analysis software.
Demonstrated programming skills in a scripting language such as (and preferably) Python and BASH. Familiarity with the Anaconda software packaging and deployment system.
Exceptional communications skills and ability to work well in a research and development team.
Demonstrated project leadership, planning, and excellent organizational skills.
In addition, preferred requirements include:
Experience with HPC software deployment and task scheduling systems (module system, SLURM)
Familiarity with the Spack software packaging/deployment system.
Background in x-ray or material science.
SLAC Employee Competencies:
Effective Decisions: Uses job knowledge and solid judgment to make quality decisions in a timely manner.
Self-Development: Pursues a variety of venues and opportunities to continue learning and developing.
Dependability: Can be counted on to deliver results with a sense of personal responsibility for expected outcomes.
Initiative: Pursues work and interactions proactively with optimism, positive energy, and motivation to move things forward.
Adaptability: Flexes as needed when change occurs, maintains an open outlook while adjusting and accommodating changes.
Communication: Ensures effective information flow to various audiences and creates and delivers clear, appropriate written, spoken, presented messages.
Relationships: Builds relationships to foster trust, collaboration, and a positive climate to achieve common goals.
Physical requirements and Working conditions:
Consistent with its obligations under the law, the University will provide reasonable accommodation to any employee with a disability who requires accommodation to perform the essential functions of his or her job.
Given the nature of this position, SLAC will require onsite work.
Work Standard:
Interpersonal Skills: Demonstrates the ability to work well with Stanford colleagues and clients and with external organizations.
Promote Culture of Safety: Demonstrates commitment to personal responsibility and value for environment, safety and security; communicates related concerns; uses and promotes safe behaviors based on training and lessons learned. Meets the applicable roles and responsibilities as described in the ESH Manual, Chapter 1—General Policy and Responsibilities: http://www-group.slac.stanford.edu/esh/eshmanual/pdfs/ESHch01.pdf
Subject to and expected to comply with all applicable University policies and procedures, including but not limited to the personnel policies and other policies found in the University's Administrative Guide, http://adminguide.stanford.edu
Job Code : 4821, Level : I
Duration : Continuing
The expected pay range for this position is $84,000 to $135,000 per annum. SLAC National Accelerator Laboratory/Stanford University provides pay ranges representing its good faith estimate of what the university reasonably expects to pay for a position. The pay offered to a selected candidate will be determined based on factors such as (but not limited to) the scope and responsibilities of the position, the qualifications of the selected candidate, departmental budget availability, internal equity, geographic location and external market pay for comparable jobs.
SLAC National Accelerator Laboratory is an Affirmative Action / Equal Opportunity Employer and supports diversity in the workplace. All employment decisions are made without regard to race, color, religion, sex, national origin, age, disability, veteran status, marital or family status, sexual orientation, gender identity, or genetic information. All staff at SLAC National Accelerator Laboratory must be able to demonstrate the legal right to work in the United States. SLAC is an E-Verify employer.