- Develop software
- System analysis
SLAC National Accelerator Laboratory is passionate about the advancement of science, and we are looking for talented people to support us in this mission.
The Electronics Engineering Division (EED) in the Accelerator Directorate is seeking an experienced Controls IT Software/Systems DevOps Engineer to manage, enhance, and support controls computing infrastructures, critical to accelerator operations throughout SLAC. The successful candidate will play an essential role in managing controls infrastructure applications, and enhancing computing infrastructures in a large, highly distributed and integrated environment.
Opportunities for this position include the development, support, and integration of advanced systems and architecture for these infrastructures. Gather requirements from controls engineers, physicists and operators. Produce requirements, design specifications and perform associated reviews. Present and communicate effectively with users, team members and management. Investigate new technologies (such as Virtual Machine, Docker, Container, Supervisor Process Manager, Kafka, Clustering, Load Balancing, Distributed System Monitoring, and etc.) to improve the mission critical infrastructures. Deploy, commission, and support robust, production level software and computing system solutions. Rapidly respond to and follow-through with solutions for issues encountered during the operation.
Control software applications at SLAC are a heterogeneous mix of embedded real-time software running on open source RTEMS and Linux RT, as well as industrial control processes running on PLCs and Linux servers. Linux host applications typically control Ethernet-attached devices, execute client-server middleware, graphical user interfaces (GUIs), efficiency tools, and computing infrastructure.
Given the nature of this position, SLAC will require onsite work.
Primary Responsibilities Include (but not limited to):
- Provide lead technical expertise and support for controls infrastructure applications, software packages and libraries. Develop software in support of the infrastructures.
- Manage and enhance controls computing infrastructures to meet evolving and growing needs of SLAC accelerator operations and R&Ds.
- Research and integrate new technologies to improve the mission critical infrastructures in performance, reliability, security, and management.
- Identify and quickly resolve diverse technical issues that may arise within the organization’s various Rapid Response Teams.
- Analyze, conceptualize technical designs, develop and deploy solutions for complex system/programs independently.
- Work with a variety of users to gain information, and develop intra-system tradeoffs between different users, as necessary; interact with a diverse client base and outside vendor contacts
- Document system builds and application configurations; maintain and update documentation as needed.
- Work as a project leader, as needed, for projects of moderate complexity.
- Compare, evaluate, and implement new features and technologies, and integrate them into the computing environment.
- Follow team software and system development methodology.
- Act as liaison with various working groups, including OCIO.
To be successful in this position you will bring:
- Bachelor’s degree in computer science, information technology, engineering, physics or related fields and minimum five years of relevant experience in the followings:
- Software/application management and Linux/UNIX system administration.
- System analysis and troubleshooting.
- Middleware and infrastructure applications.
- Knowledge of system design, development, implementation, and user support principles and practices.
- Demonstrated skill in developing automated system solutions.
- Sound knowledge of networking protocols, Linux/UNIX internals, cyber security.
- Demonstrated programming skills with bash shell and/or other scripting languages (such as Python).
- Strong communication skills with both technical and non-technical clients.
- Ability to lead activities on structured team development projects.
- Ability to select, adapt, and effectively use a variety of software and programming methods.
- Knowledge of application domain.
- Demonstrated project leadership, planning, and excellent organizational skills.
- Ability to integrate systems, end-to-end, in a scientific facility.
- Strong problem solving skills, independent decision making, and ability to work in a team environment.
- Advanced degree in one of the STEM disciplines
- Several years of experience in software development in an industrial or laboratory environment
- Experience with Virtual Machine, Docker, NFS, NAS, LDAP, DHCP, DNS, NTP, TFTP, Oracle, Backup/Restore system, Web server, Tomcat, and Kafka.
- Knowledge of advanced systems analysis methods, practices, and principles.
- Strong working knowledge of client/server architectures using Java, C and/or C++, SQL, Matlab, XML, JSON.
- Experience with the EPICS control system