This position will be responsible for the design and development of control firmware and software for a broad range of precision laser and photonic instruments within the Laser Systems and Technology (LST) business unit. The successful candidate will have the ability to design and build complex embedded code for micro-controllers as well as graphical user interfaces (GUI). The Software Engineer should have sufficient proficiency and experience to serve as a go-to reference and resource to guide a multi-disciplinary team in making successful decisions in architecting complex codebases, facilitating collaborative software development via GIT and Azure DevOps. This position will also have the responsibility to mentor and supervise junior members of the software/firmware team within the LST business unit. Although the location of the position is in the Baltimore/Washington DC area, from time to time, the Software Engineer may be required to undertake duties at other Thorlabs locations.
• Firmware and software development for the company's advanced photonics and instrumentation products.
• Microcontroller programming.
• Programming graphical user interfaces (GUI).
• Complex software/firmware architecture planning and implementation.
• System level thinking and cross-disciplinary interactions.
• Managing multiple projects simultaneously, maintaining schedules and reporting on progress to business unit leadership.
• Documentation and bug tracking.
• Production support, as needed.
• Training, mentoring, and supervising junior team members.
The Company retains the right to change or assign other duties to this position.
Requirements
Experience:
• 7+ years of experience in firmware or software development for scientific, academic, industrial, biotech, medical, or semiconductor instrumentation.
Education:
• Bachelor's degree (BS), Master's degree (MS) preferred, in Computer Science, Computer or Electrical Engineering, or related field.
Specialized Knowledge and Skills:
The following are required:
• Experience with C/C++ programming for embedded real time systems and microcontroller firmware
• Hands-on experience with embedded development, including bare-metal and RTOS environments
• Strong debugging skills and proficiency with electronics lab tools (oscilloscopes, logic analyzers, multimeters)
• Strong commitment to software engineering best practices including version control, documentation, and structured release management
• GUI development with C# and/or Qt C++ on either Windows or Linux
• Python • GIT for software version control
• Experience with Linux system configuration
The following are preferred but not required:
• Experience with STM32 microcontrollers and FreeRTOS
• Proficiency with modern C++
• Experience using Azure DevOps for managing software projects
• Linux Bash scripting General understanding and/or hands on experience with analog and digital electronics
• Good communications skills, both oral and written, technical presentation skills.
The estimated pay range for this role is $99,000 - $ 130000 annually
Benefits
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.