SPIE Career Center
NOTE: You will be creating an SPIE user account. After the account is created you will be redirected back to the Career Center to sign in.
Browsing Job 50 of 67
In order to Apply for this job you must be signed into your user account. New users can register by selecting Create an Account.
Save Job
In order to Save this job you must be signed into your user account. New users can register by selecting Create an Account.

Embedded Software Engineer

Thorlabs, Inc., Ann Arbor, MI, United States
Employer Description

Founded in 1989, Thorlabs seeks to accelerate the forward movement of scientific discovery and advancement! As a vertically integrated manufacturer of photonics components, instruments, and systems, our vast product portfolio includes over 20,000 items, ranging from optics and optomechanical positioning components to imaging systems, many of which are customer inspired.

Photonics is the foremost technology driving innovation in science and engineering. As the number of technological innovations has grown, Thorlabs has extended its core competencies in an effort to play an ever increasing role serving the Photonics Industry at the research end, as well as the industrial, life science, medical, and defense segments.

Headquartered in Newton, NJ, Thorlabs has grown to over 1800 employees with manufacturing and sales offices in the United States, United Kingdom, Germany, France, Sweden, Japan, China, and Brazil. As light-based technologies push into new markets, Thorlabs plans to enter early with the products and services required to ensure the ultimate success of our customers.

Job Description

Purpose of the Position

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.




  • 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



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.


02 June 2021
02 July 2021
Bachelor's Degree
Optical Components, Lasers, Sensors