> Markdown version of [/jobs/ext/2718385-software-engineer](https://www.wearedevelopers.com/jobs/ext/2718385-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Software Engineer - **Company:** Thorlabs Inc - **Location:** Baltimore, MD, United States - **Experience:** Expert - **Salary:** $99,000.0 - $130,000.0 - **Contract:** Permanent contract - **Skills:** Microsoft Windows, Microsoft Azure, Bug Tracking Systems, C Sharp (Programming Language), C++ (Programming Language), Collaborative Software, Computer Programming, System Configuration, Software Debugging, Linux, Digital Electronics, Embedded Software, Firmware, FreeRTOS, Graphical User Interface, Python (Programming Language), Qt (Software), Real-Time Operating Systems, Release Management, Software Construction, Software Engineering, PIC Microcontroller, Real Time Systems, Git, Build Management, Information Technology, Bare Metal, C++14, Software Version Control - **Published:** September 4, 2026 - **Apply:** https://startup.jobs/software-engineer-iii-embedded-systems-thorlabs-8860270 ## About the Role * 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. ## Description 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. ## Related Videos - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [How a Small Team Shrank a Microsoft Monorepo by 94%](https://www.wearedevelopers.com/videos/1236-how-a-small-team-shrank-a-microsoft-monorepo-by-94) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [Docker exec without Docker](https://www.wearedevelopers.com/videos/1094-docker-exec-without-docker) - [Git for Code Reviews](https://www.wearedevelopers.com/videos/429-git-for-code-reviews) - [Strange New Worlds: shaping the future of the digital age](https://www.wearedevelopers.com/videos/677-strange-new-worlds-shaping-the-future-of-the-digital-age) ## Related Articles - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [Where To Find Software Engineering Jobs](https://www.wearedevelopers.com/magazine/396-where-to-find-software-engineering-jobs) - [Software Engineer Salary London](https://www.wearedevelopers.com/magazine/252-software-engineer-salary-london) - [7 Important Tips That Every Software Developer Should Know](https://www.wearedevelopers.com/magazine/101-7-important-tips-that-every-software-developer-should-know) - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again)