Real-Time Controls Software Engineer

Milpitas, California

Commonwealth Fusion Systems
Apply for this Job

The Real-Time Controls Software Engineer will be responsible for the design, debug, and implementation of the software and controls of advanced R&D equipment and complex machinery. As a member of the controls software team you will be a hands-on technical contributor and a champion of writing excellent quality, operation-ready code for mission-critical real-time systems. You will collect functional requirements from customers and produce software solutions to meet these requirements. You will work with simulation and test engineers to integrate your software into software testbeds, hardware testbeds, and industrial tools.

This team member will:

  • Work within a multi-disciplinary and proven team of top scientists and engineers
  • Specify, write, and test control software for advanced industrial equipment
  • Own the specification, design, testing, and implementation of key systems such as interlocks, sensors and actuators, higher level tool control and user interface programming
  • Work closely with R&D team to outline interfaces and requirements for equipment and software operation for equipment control
  • Engage with mechanical and electrical engineers on concepts, designs, and test plans by providing data acquisition and controls as needed
  • Work with external software contractors to develop the control systems for internal tools (Define requirements, manage priorities, drive testing and implementation plans)
The ideal candidate will have most, if not all, of these requirements:
  • At least a bachelor's degree in a relevant engineering field (e.g., mecatronics, software)
  • 3+ years of experience as software engineer on complex mechanical systems for example: design, construction, and operation of controls for industrial, large-scale equipment
  • Working knowledge of Python, C , C and other high-level languages along with modern tools like github and CI/CD release management
  • Broad embedded system software development experience including bare-metal code, driver development, OS platform development, and real-time application development
  • Experience with fieldbus systems such as EtherCAT
  • Experience developing and tuning control loops
  • Demonstrated ability to conceive novel solutions to challenging problems
  • Experience with specification generation and suppler engagement
  • C , Python (compiled systems programming and interpreted scripting languages) in Linux environment
  • Networking (IP/UDP/TCP)
  • Software/hardware interfaces (ADCs/DACs, quarts, ethernet, etc.)
  • Knowledge of interlock systems and methods that conform to NFPA 79 and SEMI S2
  • High self-motivation and drive to execute quickly with excellent troubleshooting and problem-solving skills
Additional experience and/or qualifications:
  • Low-latency network communication
  • Design for manufacturability, serviceability, and simplicity over complexity
  • Ability to occasionally lift up to 50 lbs
  • Perform activities such as stooping, climbing, typing, standing, or sitting for extended periods of time
  • Dedication to safety to mitigate industrial hazards that may include heat, cold, noise, fumes, strong magnets, lead (Pb), high voltage, and cryogenics
  • Willingness to travel or work required nights/weekends/on-call occasionally
Date Posted: 25 September 2024
Apply for this Job