Job Summary:
SLAC National Accelerator Laboratory is seeking a motivated software engineer to join their Experiment Control Systems division. The Software Developer will develop and maintain Python and C/C++ applications and automation scripts to control complex experiments and advance scientific research.
Responsibilities:
• Develop, maintain, and own high-level Python and C/C++ applications and libraries that are essential for experiment operations, instrument control, and data acquisition.
• Collaborate with scientists and engineers to gather experimental requirements and translate the requirements into well-designed, reliable, and maintainable software solutions, driving architectural decisions and setting standards for software quality across the team.
• Troubleshoot and resolve complex issues in the software application stack, from the user graphical interfaces down to the communication with our control system infrastructure primarily consisting of EPICS (Experimental Physics and Industrial Control System)
• Architect, lead and contribute to collaboration with other team members and international groups on public and private software packages on GitHub, including the review of peer-submitted code and mentoring junior engineers on best practices and design patterns.
• Develop and refine engineering processes and tools contributing to strategic improvements and long-term system reliability, including defining roadmaps, setting technical direction, and influencing organizational priorities.
Qualifications:
Required:
• Bachelor's degree in Physical Sciences, Computer Engineering, Computer Science, or a closely related field, and eight years of relevant experience or a combination of education and relevant experience.
• Strong proficiency in Python and Python GUI development (PyQt), including designing and maintaining large-scale, production-grade codebases.
• Experience working with C/C++ code development and maintenance.
• Experience with version control systems, particularly Git, and collaborative development workflows.
• Experience performing end-to-end ownership of tasks, including project management, schedule, and stakeholder management with a track record of delivering complex, multi-stakeholder projects on time.
• Experience working in and leading efforts across cross-disciplinary teams or environments.
• Effective communication (written and verbal), present design options, tradeoffs comparison, implementation details, etc. to a wide range of stakeholders towards building effective and scalable systems.
Preferred:
• Experience with EPICS (Experimental Physics and Industrial Control System) development.
• Familiarity with EPICS Channel Access (CA) and/or PV Access (PVA) protocols.
• Experience working in a scientific, research, or academic environment.
• Extensive experience working in Linux environments, preferably RHEL or Rocky Linux.
• Good understanding of network architecture and operational technology systems.
• Familiarity with control systems concepts and infrastructure.
• Experience leveraging AI models and tools to accelerate development and build AI applications that improve operational effectiveness, including integrating AI-assisted workflows into team practices.
• M.Sc. in Computer Engineering/Science, Physical Science, or a closely related field.
Company:
SLAC National Accelerator Laboratory is the U.S. Department of Energy's national lab at Stanford University. It is a sub-organization of Stanford University. Founded in 1962, the company is headquartered in Menlo Park, USA, with a team of 1001-5000 employees. The company is currently Late Stage.