Jobs · Information Technology · California

Controls Software Engineer

Berkeley Lab · Berkeley, CA · 1 wk ago
Information Technology$105k–$128k/yrFull-time

About the role

The Controls Software Engineer supports the development, deployment, maintenance, and enhancement of software systems that enable operations of the Advanced Light Source (ALS), a world-class synchrotron user facility. This position involves working within a collaborative team of software engineers, scientists, and technical staff.

Responsibilities

  • Develop, test, deploy, and maintain control system software using EPICS and associated software development tools.
  • Aid 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.
  • Collaborate effectively with software developers, accelerator physicists, engineers, and operations staff to support ALS scientific and operational goals.

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.

Qualifications

  • 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.
  • 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.

Skills

  • 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.

Benefits

N/A

Pay

$105,000 - $128,000, which fits into the full salary range of $92,964 - $156,876 depending upon the candidate’s skills, knowledge, and abilities.

Schedule

Full-time 2 year, term appointment with the possibility of extension or conversion to Career appointment based upon satisfactory job performance, continuing availability of funds and ongoing operational needs.

Similar jobs

Software Engineer

RelativityArizona, United States· 1 wk ago
Engineering$79k–$119k/yrapply on kcura.wd1.myworkdayjobs.com

Software Engineer

RelativityOklahoma, United States· 1 wk ago
Information Technology$79k–$119k/yrapply on kcura.wd1.myworkdayjobs.com

Software Engineer

Accenture Federal ServicesChantilly, VA· 2 wk ago
Engineering$130k–$265k/yrapply on boards.greenhouse.io

Software Engineer

BarclaysWhippany, NJ· 1 mo ago
Engineering$190k/yrapply on search.jobs.barclays

Software Engineer

Royal Cyber Inc.Naperville, IL· 26 mo ago
Engineeringapply on royalcyber.zohorecruit.com