Controls Engineer (Onsite Services)

Engineering Cincinnati, Ohio

The Controls Engineer will work with internal and external teams to develop, implement, and test control algorithms and control software for robotic surgical instruments. The Principal Software and Controls Engineer will also drive the implementation of an optimal organizational structure, along with corresponding processes and infrastructure required for software and controls development in partnership with a team leader.

Key Responsibilities:

  • Develop, implement, optimize, and test kinematic & dynamic models, control algorithms, and controls software
  • Act as the technical leader that shapes and builds-out people, processes and infrastructure to increase software and controls development capabilities from front-end through product launch, while providing technical guidance to team members
  • Recruit, train, and provide technical mentoring to software and controls engineers
  • Partner with software development teams on development and documentation (e.g. software design specifications, software requirements, software test protocols)
  • Conduct and/or participate in technical design reviews of requirements, specifications, software, and designs for instruments, systems, and interfaces
  • Identify and implement expansions to software, hardware, controls and simulations capabilities
  • Design test procedures, lead tests, analyze results, and develop written reports



A BS in computer science, electrical engineering, or other related fields is required

A MS or PhD in computer science, electrical engineering, or other related fields is strongly preferred

Experience and Skills:

  • A minimum of 3 years of related work experience is required
  • Experience in medical device industry or other regulated industry is preferred
  • Experience with a variety of programming languages and applications (e.g. MATLAB, Simulink, C++, Python) is required
  • Experience with real-time software and sockets programming is required
  • Experience with a variety of operating systems (e.g. QNX, Linux) is required
  • Hardware / software integration experience and experience diagnosing engineering design issues, including gathering and interpreting test data is required
  • Experience with distributed version control systems (e.g. Git, Subversion), code repositories and code reviews is preferred
  • Experience developing software unit tests using Python, C++ and Google Test or any other unit test framework is preferred
  • Excellent technical writing and oral communication skills is required
  • Experience developing software for safety critical systems is preferred
  • Familiarity with regulations surrounding software design control for medical devices, including IEC 62304, ISO 13485 and 21 CFR 820 is preferred
  • Capable of effectively leading multiple parallel projects in a diverse team environment is required