Controls Software Engineer

Lawrence Berkeley National LaboratoryBerkeley, CA
$105,000 - $128,000Onsite

About The Position

Lawrence Berkeley National Laboratory is hiring a Controls Software Engineer within the Engineering division. This position will support the development, deployment, maintenance, and enhancement of software systems that enable operations of the Advanced Light Source (ALS), a world-class synchrotron user facility. Working within a collaborative team of software engineers, scientists, and technical staff, the incumbent assists in the design and implementation of EPICS-based control system applications, Physics Higher Level Applications, graphical user interfaces, and data management tools that support accelerator and beamline operations. Under general supervision, the Associate Software Developer applies established software engineering principles and development methodologies to complete assigned tasks and contribute to project objectives. The position participates in software development, testing, documentation, commissioning, and operational support activities while gaining experience with accelerator control systems and scientific computing environments. Occasional off-hours support may be required to help maintain reliable operation of this 24/7 user facility. We’re here for the same mission, to bring science solutions to the world. Join our team and YOU will play a supporting role in our goal to address global challenges! Have a high level of impact and work for an organization associated with 17 Nobel Prizes!

Requirements

  • Bachelor’s degree in Computer Science, Engineering, Computational Biology, or a related field; or an equivalent combination of education and relevant experience.
  • 2 years of experience in software development or related technical work (including internships, academic projects, or research experience).
  • Experience through coursework, internships, research projects, or employment developing software applications using one or more modern programming languages such as Python, C++, Java, or similar languages.
  • Experience using software development tools and practices, including version control systems such as Git.
  • Demonstrated ability to learn new technologies and technical concepts in a collaborative environment.
  • Effective written, verbal, and interpersonal communication skills.
  • Foundational knowledge of software engineering principles, programming concepts, and software development life cycle methodologies.
  • Understanding of object-oriented programming, data structures, algorithms, and software design practices.
  • Development experience with Matlab, Python and C/C++ programming languages.
  • ML/LLM models knowledge and implementation experience on software code.
  • Basic understanding of Linux/UNIX environments and software development tools.
  • Ability to develop, test, debug, and maintain software applications under guidance from senior developers.
  • Ability to use version control systems and collaborative development tools.
  • Technical writing skills sufficient to prepare clear documentation and reports.
  • Analytical and problem-solving skills for identifying and resolving routine software issues.
  • Ability to learn complex scientific and technical systems and apply new knowledge effectively.
  • Ability to work both independently on assigned tasks and collaboratively within multidisciplinary teams.
  • Ability to communicate technical information clearly to both technical and non-technical audiences.

Nice To Haves

  • Experience with Linux or UNIX-based operating systems.
  • Familiarity with scientific computing, data analysis, or engineering software environments.
  • Exposure to control systems, instrumentation, automation systems, or distributed software architectures.
  • Experience with EPICS, MATLAB, or similar scientific and engineering software frameworks.
  • Experience developing graphical user interfaces, web-based applications, or data visualization tools.
  • Knowledge of software testing and quality assurance methodologies.

Responsibilities

  • Develop, test, deploy, and maintain control system software using EPICS and associated software development tools.
  • Assist in the development and enhancement of graphical user interfaces, operator displays, data logging applications, and other software tools used for accelerator and beamline operations.
  • Develop and support Physics Higher Level Applications for the ALS accelerator complex using Python, MATLAB, and related scientific computing tools under the guidance of senior staff.
  • Participate in software integration, testing, troubleshooting, and validation activities to support operational and project objectives.
  • Assist with commissioning new controls and software applications in collaboration with engineers, scientists, and technical personnel.
  • Diagnose and resolve routine software issues, escalating complex problems as appropriate.
  • Create and maintain technical documentation, user guides, software specifications, and development records related to assigned work.
  • Present work progress, technical findings, and project updates during team meetings and technical discussions.
  • Follow established software development methodologies, coding standards, and quality assurance practices.
  • Participate in team activities related to source control, code review, issue tracking, testing, and continuous improvement of development processes.
  • Collaborate effectively with software developers, accelerator physicists, engineers, and operations staff to support ALS scientific and operational goals.

Benefits

  • Full-time 2 year, term appointment with the possibility of extension or conversion to Career appointment
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service