Software Engineer I
Job Description
Purpose of the Position
Thorlabs Ultrafast Optoelectronics (UFO) in Ann Arbor is a division of Thorlabs chartered to develop high speed photonics components and instrumentation. The position is responsible for generating software and firmware/embedded code supporting an array of instrumentation equipment, including microcontrollers, peripheral devices, and test automation.
Essential Job Functions include the following, but are not limited to:
- Assist in development of embedded software for 8-bit and 32-bit microcontrollers and interfaces
- Assist in development of drivers and graphical user interface (GUI) applications for Windows
- Assist in development of scripts/applications for test automation of products that interface with various lab equipment
- Perform software validation under supervision per documented verification plans and test cases
- Coordinate with design team to ensure software compliance with system requirements
- Participate in code, design, and architectural reviews
- Report development status to supervisor on a regular basis
- Assist with project planning, estimation, and tracking
- Assist and train both the service and manufacturing departments in troubleshooting technical issues with software/firmware products
- Maintain software documentation while learning documentation best practices
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.
Physical Activities: Work may be active, could stand or sit for long durations and/or perform repetitious work at times. The employee may lift or move objects up to 20 pounds. Employees must grasp, manipulate, or assemble parts and components that are often very small. The noise level in the work environment is usually moderate, however, may be noisy at times. Must be able to wear appropriate clothing and personal protective equipment such as but not limited to masks, glasses, gloves, and specialty garments. The required PPE and training allow for the safe handling and processing of chemicals like adhesives, lubricants and solvents, and safe operation of job related equipment and tools.
Experience:
- Entry Level to 4 years of experience in software and firmware design, development, and implementation
Education:
- Minimum of a BS or higher level of education in Computer Science, Computer Engineering or related field required
Specialized Knowledge and Skills:
- Must have working knowledge in programming in C/C#/C++
- Must have working knowledge in programming for 32-bit microcontrollers
- Must have working knowledge of microcontroller peripheral devices (DACs, ADCs, digital Pots, EEPROM, etc.)
- Must have working knowledge of serial communication protocols (USB, UART, SPI, I2C, etc.)
- Must have working knowledge of building software for a Windows environment
- Knowledge of control system and signal processing concepts is preferred
- Experience with GUI/HMI design is preferred
- Experience with Atmel and STMicro microcontrollers running FreeRTOS is preferred
- Experience with Keil, Atmel Studio, and STM32Cube IDEs is preferred
- Experience with Visual Studio is preferred Python experience is preferred
- LabVIEW experience is preferred
- Experience with revision control (git) is preferred
- Candidate must be detail oriented, highly organized, and able to document work
- Candidate must have excellent written and oral communication skills
- Comfortable in a start-up type environment; self-motivated individual
The salary range for this position is $84,187 - $110,706 D.O.E.
Although the location of the position is in Ann Arbor, Michigan from time to time it may be required to undertake duties at other Thorlabs locations
Thorlabs values its diverse environment and is proud to be an equal opportunity employer. All qualified applicants 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.
Thorlabs offers a complete benefits package that includes medical, dental and vision insurance, company paid life insurance, a generous PTO package, a 401(k) plan, and tuition reimbursement just to name a few.
Company Information
Location: Newton, New Jersey, United States
Type: Hybrid