Machine Learning / Software Engineer
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? SLAC National Accelerator Laboratory seeks a software engineer to develop tools and workflows to aid domain scientists in the deployment of machine learning solutions.
SLAC is one of the world’s premier research laboratories, with internationally leading capabilities in photon science, accelerator physics, high energy physics (HEP), and energy sciences. The Controls & Data Systems (CDS) Division in the Technology Innovation Directorate (TID) is involved in many national and international projects, which, among others, include the Rubin Observatory, the Linac Coherent Light Source (LCLS) user facility, CryoEM user facilities, the LHC ATLAS detector at CERN, and accelerator controls for LCLS-II.
Machine learning is expected to play an important role in nearly every major project at SLAC. Applications include deep learning for detector analysis, online control of facilities, surrogate models for high-fidelity simulations, and new modes of data analysis to handle data rates that can reach TBs/second. Though still in its early stages, machine learning is expected to have a transformative effect on SLAC’s science output.
You will help researchers across multiple scientific disciplines to build and operate machine learning tools and platforms that enable documented, efficient and reliable workflows.
While you will not require deep machine learning expertise, you should be comfortable enough with both the technological and theoretical concepts to work closely with researchers and be able to map requirements to creative design and well-architected implementations. You shall team with software, hardware, project and physics engineers - including hardware developers, control system application developers, physicists and operators. You will continue enhancing your skills and experience while working directly on the software that makes direct impacts on both SLAC's day-to-day operations, and to its scientific discoveries of the future.
Your specific responsibilities include:
- Work closely with machine learning scientists to make optimal use of existing hardware and software solutions
- Engineer machine learning projects into fruition from early project scoping, initial deployment and long term production
- Develop generic and specific tools, workflows and pipelines to aid domain scientists, machine learning experts and novice users
- Develop secure and reliable platforms for online control of facilities and experiments
To be successful in this position you will bring:
- Bachelor’s degree in computer science, electrical engineering, statistics, physics, or related field and five years of relevant experience in the following areas, or a combination of education and relevant experience.
- Building and deploying ML solutions for science applications
- Container technology (e.g. Docker, Singularity, Shifter) and orchestration (e.g. Kubernetes)
- Expertise in data science languages, platforms and protocols (e.g. Python, Pytorch, TensorFlow, matlab, Horovod, MPI, OpenMP)
- Expertise with data and workflow platforms (e.g. Pegasus, Airflow, DVC, Slurm, etc)
- Robust understanding of software engineering and development
- Administration expertise with databases (PostGres, NoSQL, etc.)
- Effective collaboration and communication skills to a variety of audiences
In addition, preferred requirements include:
- A masters degree or PhD in computer science, electrical engineering, physics or related field
- 2+ years data analysis experience with scientific data
- 2+ years experience working at a DOE laboratory
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 the job. May work extended hours during peak business cycles.
Work standards:
- 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
As an organization that receives federal funding, SLAC and Stanford University have a COVID-19 vaccination requirement that will apply to all university employees, including those working remotely in the United States and applicable subcontractors. To learn more about COVID policies and guidelines for Stanford University Staff, please visit https://cardinalatwork.stanford.edu/working-stanford/covid-19/interim-policies/covid-19-surveillance-testing-policy