DE Jobs

Search from over 2 Million Available Jobs, No Extra Steps, No Extra Forms, Just DirectEmployers

Job Information

SLAC National Accelerator Laboratory Software Developer - Control System Tools in Menlo Park, California

Software Developer - Control System Tools

Job ID

5921

Location

SLAC - Menlo Park, CA

Full-Time

Regular

SLAC Job Postings

POSITION OVERVIEW:

The Controls Software Engineering department of the Technology Innovation Directorate at SLAC is seeking a talented software developer to maintain and extend SLAC’s accelerator control system tools. This department supports cutting edge research into accelerator technology.

In this position, you will develop and maintain software that monitors and controls various aspects of large and complex scientific devices, with a focus on the DevOps and Machine Learning Ops (MLOps) related aspects of our infrastructure. You will be responsible for supporting the use of toolchains and services related to the development lifecycle of machine learning models and simulations. Building and maintaining MLOps pipelines to support model development, training, and continuous integration and development to a production setting will be a key part of the role. Python will be the primary development language.

Your work will be central to SLAC's daily operations and will have an impact on future accelerators and scientific discoveries. This is a regular full-time position.

This position has a multi-disciplinary role within the Controls Software Engineering department, working with other software professionals, physicists, and hardware engineers. It also provides the opportunity to interact regularly with key stakeholders including accelerator operators, application developers, instrumentation experts, and accelerator physicists engaged in machine learning, accelerator simulation and more.

In addition to accelerator controls at SLAC, the Technology Innovation Directorate (TID) is involved with many national and international projects, including instrument development for the Large Synoptic Survey Telescope camera (LSST), the Cryogenic Dark Matter Search experiment (CDMS), the ATLAS detector at CERN’s Large Hadron Collider, and equipment engaged in the experiments conducted with SLAC’s Linac Coherent Light Source (LCLS-I and LCLS-II)

Your specific responsibilities include (but are not limited to):

  • Deploy and maintain control system software tools, used by accelerator and experiment control applications, and develop new tools as needed. This includes pipelines for running ML models and simulations, and infrastructure for storing the models being run and their associated results.

  • Promote sharing SLAC-developed tools with the worldwide community of accelerator controls engineers and integrate new releases from that community into the SLAC working environment.

  • Develop a test environment to support development activities outside of the accelerator’s production network.

  • Investigate new technologies and propose initiatives to best meet our customer’s needs.

  • Provide training to our stakeholders for accelerator control software as needed.

To be successful in this position you will bring:

  • Bachelor's degree in computer science, software engineering, or related fields and 5 or more years of relevant experience in software development.

  • Strong programming and debugging skills with Python.

  • Demonstrated background with Linux as a development platform.

  • Current knowledge of the latest software design and development methodologies

  • Demonstrated skills with modern distributed version control tools such as Git.

  • Experience with software deployment pipelines using CI/CD technologies like GitHub Actions.

  • Experience with machine learning related libraries like PyTorch or TensorFlow

  • Knowledge of and ability to select, adapt, and effectively use a variety of programming methods.

  • Ability to effectively communicate and present ideas to collaborators and stakeholders.

  • Strong verbal and written communication skills with both technical and non-technical audiences.

Preferred but Not Required:

  • Cross-platform software development experience on Linux

  • Knowledge of SQL and NoSQL database systems

  • Familiarity with machine learning data pipelines

  • Experience with MLOps tools such as Prefect or MLflow

SLAC 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/ 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 is open to on-site and hybrid work options.

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 .

Classification Title: Software Developer 2

Grade: J

Job code: 4822

Duration: Regular Continuing

The expected pay range for this position is $102,000 to $161,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.

DirectEmployers