Embedded Software Engineer

Ann Arbor, Michigan 48103
  • Job Type
  • Job Status
    Full Time

This is a software development position at Thorlabs-UFO (Ann Arbor, MI), a wholly owned subsidiary of Thorlabs, Inc. (Newton, NJ). We are looking for a motivated programmer who will lead our embedded firmware development and some Windows based support tools. This is an exciting opportunity to be the key SW engineer of our high tech, high mix product development team. The charter of UFO is to design, develop, and manufacture leading edge photonics instrumentation and opto-electronic products in concert with the broad technical base of Thorlabs’ other business units. UFO is committed to a customer-centered strategy and is an active member of the Michigan photonics R&D community.

Essential Job Functions include the following, but are not limited to:

  • Key staff programmer for microcontrollers and some user interfaces.
  • Develop advanced embedded software for 8-bit and 32-bit microcontrollers.
  • Develop simple drivers and graphical user interface applications for Windows.
  • Coordinate with design team to ensure software compliance with system requirements.
  • To work directly with an interdisciplinary team of engineers.
  • Maintain software documentation.
  • Perform software validation.

In addition to the essential functions and duties listed above, all positions are also responsible for:

  • Meeting company standards pertaining to quantity and quality of work performed on an ongoing basis, performing all work-related tasks in a manner that is in compliance with all Company policies and procedures.
  • Adhering to Company policies, procedures, and directives regarding standards of workplace behavior in completing job duties and assignments.

The Company retains the right to change or assign other duties to this position.


Thorlabs values its diverse environment and is proud to be an Equal Employment Opportunity/Affirmative Action Employer. All qualified individuals will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age or veteran status. Job descriptions are not intended as and do not create employment contracts. The organization maintains its status as an at-will employer. Employees can be terminated for any reason not prohibited by law.






  • 3+ years of high-reliability software development experience
  • Knowledge of C/C++ (additional languages is a plus)
  • Experience programming for 32-bit microcontrollers
  • Experience with microcontroller peripheral devices (DACs, ADCs, digital Pots, EEPROM, etc.)
  • Experience with microcontroller communication over USB, UART, SPI, I2C, etc.


  • Knowledge of control system and signal processing concepts
  • Experience with GUI/HMI design
  • Experience developing drivers and graphical user interface applications for Linux/Unix
  • Experience with Atmel microcontrollers
  • Experience with Keil and Atmel Studio IDEs
  • Experience working with embedded real-time OS
  • Experience developing bootloaders.
  • LabVIEW, Matlab, and Python experience


  • BS or MS in computer science, electrical engineering, computer engineering, or related field

Specialized Knowledge and Skills:

  • Candidate must be detail oriented, highly organized, & able to document work.
  • Candidate must have excellent written and oral communication skills.
  • Comfortable in start-up type environment; self-motivated individual




Share this job:

Embedded Software Engineer

Ann Arbor, Michigan 48103

Join us to start saving your Favorite Jobs!

Sign In Create Account