The Senior Software Systems Engineer is a hands-on technical contributor who develops software and integrates hardware for Sierra-Olympia's infrared imaging products and internal engineering and production systems. The role translates user needs into requirements and architecture, then designs, implements, verifies, releases, and supports practical solutions. Work includes embedded firmware, C# applications, camera interfaces, automated test equipment, and motion control. The engineer provides technical leadership through design reviews and mentoring and advances AI-assisted software development and process automation, with responsibility for the quality, security, and maintainability of the resulting work. The ideal candidate will demonstrate strong leadership potential and a desire for professional growth, with the opportunity to eventually transition into a management role overseeing a portion of the engineering team.
Responsibilities:
- Develop system concepts, software architecture, and interface specifications. Evaluate tradeoffs involving performance, timing, hardware constraints, reliability, usability, cost, and maintainability.
- Design, develop, test, release, and maintain user applications, camera interfaces, and engineering and production tools using appropriate languages and frameworks.
- Develop production and laboratory automation, including motion control, instrument control, test sequencing, data collection, and result reporting. Address safe operation, repeatability, and operator usability.
- Plan and execute requirements-based verification and validation, including unit, integration, system, regression, and hardware-in-the-loop tests as appropriate. Document results and resolve failures.
- Lead and participate in architecture, design, code, and test reviews. Evaluate performance, resource use, failure behavior, security, and readiness for release.
- Use AI-assisted tools for requirements analysis, coding, testing, debugging, and documentation. Independently review and verify generated work and follow company requirements for protecting technical data and intellectual property.
- Evaluate and implement improvements to AI-assisted development and internal automation. Measure changes in engineering effort, quality, test coverage, or process repeatability and share effective practices.
- Estimate and plan assigned work, identify technical and integration risks, and use prototypes or analysis to resolve uncertainty. Communicate progress, dependencies, and tradeoffs to project stakeholders.
- Oversee planning, execution, and delivery of software products.
- Perform work in accordance with the quality management system and company values.
Qualifications:
Required
- BS in Software Engineering, Computer Engineering, Electrical Engineering, or a related field, or an equivalent combination of education and relevant experience.
- Demonstrated delivery of software that interacts with physical hardware, from requirements and design through integration, verification, release, and support.
- Strong programming proficiency in C, C++, or C#, with the ability to work across embedded software and application or tooling environments. Working knowledge of Python or comparable scripting.
- Ability to define system and software requirements, document architecture and interfaces, and translate engineering tradeoffs into practical designs.
- Working knowledge of hardware communications such as UART, Ethernet, SPI, or I2C and experience diagnosing hardware and software interactions.
- Experience developing structured tests, analyzing measured data, and troubleshooting complex failures using logs, debugging tools, and laboratory equipment.
- Experience with Git or comparable version control, peer review, technical documentation, and disciplined software release practices.
- Ability to apply and critically evaluate AI-assisted engineering tools while independently assessing correctness, testing results, and protecting company information.
- Clear technical writing and communication, independent ownership of assigned work, and effective collaboration with engineers, technicians, operations staff, and customers.
Preferred
- 10 or more years of relevant software or systems engineering experience, including technical leadership, design reviews, and mentoring.
- C# and .NET application development with WPF, Avalonia, or similar desktop frameworks.
- Infrared cameras, optical or electro-optical systems, image acquisition and processing, OpenCV, and frame or pixel-level performance analysis.
- Production automation, motion control, instrument integration, and automated test fixtures; use of multimeters, oscilloscopes, and power supplies.
- Continuous integration and delivery, automated regression testing, hardware-in-the-loop testing, or measurable improvements using AI-assisted development workflows.
Other
- This position is located in our Hood River, Oregon office
- Limited travel is expected
The above statements are intended to describe the general nature and level of work being performed. The statements should not be a complete list of all responsibilities and duties. There may be additional duties outside the normal responsibilities to be performed as needed.