Software Engineer
Role details
Job location
Tech stack
Job description
Wasatch Photonics is seeking a mid-level Software Engineer to serve as an integral part of an innovative, close-knit product development group creating our next-generation Raman, spectroscopy and Optical Coherence Tomography (OCT) solutions.
As a company, we work with leading researchers developing new scientific techniques to revolutionize healthcare, security, food safety, materials development & processing, and environmental monitoring. As a Software Engineer with us, you will help Wasatch Photonics develop and maintain GUIs for real-time data collection and analysis on desktop and mobile platforms, including low-level libraries responsible for device communication via USB and Bluetooth® LE.
Wasatch Photonics has long been known for its superior opto-mechanical designs for spectroscopy and OCT, drawing upon our own high efficiency holographic gratings. In this role, you will use Python, C#, R and other languages to add features and resolve issues to Wasatch's existing Python, C#, and MAUI (Android / iOS) software frameworks to support new products and customer integrations.
We offer a fast-paced development environment, a variety of interesting & overlapping projects, and a positive collaborative atmosphere where you will learn about the physics, optics and chemistry underlying our spectroscopy and optical coherence tomography technology. We are here to build upon one another's talents and succeed as a team.
If this sounds like the kind of challenge and environment that brings out the best in you, then the best of us would like to meet you!, * Take ownership of new application and library features, primarily using a Python stack
- Apply industry standard solutions to application and library packaging using tools such as PyPi (Python), Homebrew (MacOS), NuGet (Windows), APT (RPi), etc
- Support API testing of new firmware builds via USB, BLE, TCP/IP and other interfaces
- Work closely with firmware engineers on design and testing of microcontroller (C) and FPGA (VHDL) firmware releases using a primarily Python stack.
- Support manufacturing as needed with design of new features for product assembly, alignment, calibration and characterization using Python, R, C# and other toolchains.
- Help create and maintain written documentation for public and internal use
- Keep a sense of humor and positive perspective that transcends setbacks.
Additional Responsibilities
- Interest in creating and applying device calibrations using polynomial regressions, gaussian curve fits and similar techniques
- Interest in peak-finding, image processing, spectral matching, signal processing, color coordinates and similar numerical methods
- Interest in automated signal processing using ML (TensorFlow/Keras) and LLM tools
- Interest regulatory compliance testing and commercial product certification
- Contribute to other aspects of company development as needed
Requirements
- 3 years experience in Python is required (v3.7+)
- Comfort with bit operations (masks, endian etc)
- Familiarity with revision control using Git (pull requests, branching)
- Familiarity with POSIX command-line environments (bash etc)
- Familiarity with JSON, XML, Markup and other types of structured text
- Familiarity with Qt, NumPy, AWS, Azure, Google Workspace and similar tools
- Willingness and interest in learning a considerable amount about the specification, design and manufacture of optical systems and PCBs
- Good written and oral communication skills, * Bachelor's degree in science, engineering or related discipline