Senior Software Engineer (MANUFACTURING / ROBOTICS)

Somerville, MA · Job # 8221BK

You are an embedded software engineer with experience developing and shipping commercial grade software for high-reliability, industrial systems. You thrive in a dynamic startup environment and have a mix of microcontroller, FPGA and PLC programming experience. You will work in and develop a scalable, field upgradable, firmware architecture for our digital manufacturing platform. The firmware will control a complex, fully automated electro-mechanical system with a large number of motors, thermal elements, sensors, pumps, etc.


  • Design and implement a scalable firmware architecture for all hardware modules
  • Design and implement the communication protocol between the firmware and control PC
  • Support custom in-house PCB development
  • Integrate third-party modules (e.g., motion control drivers)


  • BS/MS in Computer Science/Computer Engineering/Electrical Engineering or related field
  • 10+ years of shipping commercial-grade embedded software
  • Proficiency with MCU and FPGA development using RTOS and bare metal embedded systems
  • Expert C/C++ programming skills
  • Proficiency with Verilog and/or VHDL
  • Proficiency with Ethernet, TCP/IP and Wireshark
  • Experience with stepper and servo motion control
  • Experience with PLC systems
  • Experience with lab equipment and electronics troubleshooting (oscilloscopes, voltmeters, data-acquisition, etc.)
  • Programming experience in both Linux and Windows environments
  • Proven track record of developing robust code using modern software practices, including revision control, continuous integration builds, peer-reviewed commits, etc.

Desired Skills:

  • Experience with Xilinx Zynq® and related tools
  • Experience with high-throughput data processing using high-end, Xilinx FPGAs
  • Experience with high-bandwidth ADC/DAQ boards
  • Experience with EtherCAT, Ethernet/IP, PROFINET, Modbus or/and CAN bus
  • Experience with integration of robotic and pick-and-place components
  • Experience with ink jet printing
Apply For this Position
Create an Account

Track your jobs and take advantage of one click applying by creating an account.

Register Now
Let Us Search

Want us to do the work for you? Submit your resume and we'll find a job that's a perfect match for you!

Submit Resume