Software Engineer

If you believe you would be a good fit for this role, please send your resume to!

Software Engineer

Do you want to write the software for:

  • The control system for a fusion reactor?

  • Power electronics for the smart grid?

  • Augmented reality headsets, fitness trackers, and IoT devices?

  • Cell phones? Autonomous Vehicles?

  • Automotive Electronics? Avionics? Medical Devices?

  • Semiconductor Manufacturing Equipment?

  • All of the Above?

NK Labs is a product design engineering firm in Cambridge, MA. We design products and build prototypes for some of the best-known technology companies and the most innovative startups. We bring our clients' ideas to life and solve their toughest technical challenges. We are a team of electrical, mechanical, and software engineers who work together to figure out what is possible within the laws of physics, and then work together to build it and get it into high-volume production.

Job Description

We are looking for an Embedded Software Engineer. You would work in the lab alongside electrical engineers, mechanical engineers, and scientists. You would architect, write, and debug embedded software for microcontrollers, write HDL for field-programmable gate arrays (FPGAs), and write associated host-side software to run on desktop, cloud, and high-performance computing platforms.

Key Responsibilities

  • Work with customers and interdisciplinary teams to determine system requirements

  • Write embedded software in C and C++ for communications, control, and signal processing

  • Write FPGA HDL in Verilog

  • Debug code on hardware using logic analyzers and oscilloscopes

  • Identify and solve problems

  • Work with interdisciplinary teams to build working first-of-a-kind systems


  • Excellent coding and debugging skills

  • At least four years experience as a professional software developer

  • Ability to learn new programming languages and libraries quickly

  • Familiarity with the fundamentals of computer science, electronic circuits, and signal processing

  • Experience using electronic test equipment

  • Familiarity with communication standards, such as I2C, SPI, USB, PCIe, WiFi, Bluetooth

  • Excellent communication, computer, reporting, and analytical skills

  • Strong work ethic and organizational skills

  • Degree in Computer Science, Electrical Engineering, or a related field