Job Description
Job DescriptionWe are looking for a Senior Software Engineer to lead the software direction of a well-established product line in Peoria, Arizona. This role is ideal for an engineer who enjoys working at the intersection of embedded development, product enhancement, and long-term code quality. The position offers the opportunity to shape reliable, high-volume systems while introducing modern engineering practices that strengthen performance, testability, and maintainability.
Responsibilities:
• Lead the software architecture, development, and ongoing support of embedded applications for microprocessor- and microcontroller-based products.
• Develop robust, maintainable code using established embedded engineering standards and sound design principles.
• Introduce and expand modern verification approaches such as unit testing, automated build pipelines, and virtualized software validation methods.
• Create and execute hardware-focused validation strategies, including simulated test environments and physical fixture-based testing.
• Investigate software issues found in production and drive effective resolutions to restore and improve product reliability.
• Deliver new capabilities for existing products and confirm performance through structured verification activities.
• Enhance the product line through continuous improvements that increase efficiency, dependability, and competitive value.
• Research emerging software practices and apply relevant advancements to embedded systems development within the organization.• Strong experience programming in C for real-time embedded systems.
• Practical knowledge of toolchains, build environments, and the ability to adjust compilation and linking processes for specific project needs.
• Demonstrated problem-solving ability in complex software and hardware-related scenarios.
• Commitment to writing clean, organized, and maintainable code for production environments.
• Experience delivering reliable, fault-tolerant embedded software at scale.
• Familiarity with modern embedded development methods, including hardware abstraction layers and version control tools such as Git.
• Ability to use debugging interfaces and laboratory equipment to diagnose software and basic hardware issues.
• Working understanding of electrical schematics, common electronic components, and standard embedded interfaces such as CAN, I2C, ADC, and DAC.