Controls Software Engineer
Listed on 2026-07-09
-
Software Development
Software Engineer, Python
Controls Software Engineer
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.
You Will- Develop, test, deploy, and maintain control system software using EPICS and associated tools.
- Assist in the development and enhancement of graphical user interfaces, operator displays, data logging applications, and other 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 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.
- Bachelor’s degree in Computer Science, Engineering, Computational Biology, or a related field; or equivalent combination of education and experience.
- At least 2 years of experience in software development or related technical work including internships, academic projects, or research experience.
- Experience developing software applications using modern programming languages such as Python, C++, Java, or similar.
- Experience using software development tools and practices, including 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.
- Knowledge or implementation experience with ML/LLM models 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…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).