Senior Embedded Software Engineer - Machine Learning Start-Up

Somerville, MA · Job # 8226LK

We are working with an early stage start-up doing work in the machine learning space.  The company is still in stealth mode.

Job Description:

The Senior Embedded Software Engineer will have experience developing and shipping commercial grade software for high-reliability, industrial systems. The ideal candidate will thrive in a dynamic startup environment and have a mix of microcontroller and FPGA programming experience. As a senior member of the team, you will work with a Principal System Architect and the Engineering team to design and develop a scalable, field upgradable, firmware architecture. The firmware will control a complex, fully automated electro-mechanical system with a large number of motors, thermal elements, sensors, pumps, etc.

Primary Responsibilities:

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

Requirements:

  • BS/MS in Computer Science/Computer Engineering/Electrical Engineering or related
  • 10+ years of shipping commercial-grade embedded software
  • Proficiency with MCU and FPGA development using RTOS/bare metal embedded
  • Expert C/C++ programming skills
  • Proficiency with Ethernet, TCP/IP and Wireshark
  • Experience with integrating third-party stepper and servo motion control drivers
  • 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.

“Nice to Have” Skills:

  • Proficiency in Verilog and/or VHDL for FPGA programming
  • Experience with PLC systems
  • 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