Job Description
Embedded Software (Linux) Engineer/Architect
About the Role
As an Embedded Software Engineer/Architect, you will design, develop, and optimize embedded software systems for entities that operate in ground-based, airborne, and space-based applications. You will be responsible for driving technical innovation in embedded software, implementing advanced control algorithms, and ensuring the delivery of cutting-edge software solutions that meet mission-critical requirements.
You'll collaborate closely with customers, program managers, RF engineers, mechanical engineers, and cross-functional teams to translate system requirements into scalable, high-performance embedded software. This role is ideal for someone who thrives on solving complex technical challenges while mentoring and inspiring engineering teams.
What You'll Do
- Drive technical innovation in real-time embedded software, control algorithms, and system monitoring solutions for high-power RF applications.
- Develop software architectures and technical specifications for ground-based, airborne, and space-qualified embedded systems.
- Apply expert-level knowledge of embedded software design principles, real-time operating systems, and device driver development.
- Design and optimize software for thermal management, power control, and fault detection in high-power RF amplifiers and systems.
- Implement embedded software for power electronics control, including switching power supplies and DC-DC converters.
- Ensure software designs meet EMI/EMC compliance, performance, reliability, and environmental requirements, including DO-178 and MIL-STD compliance.
- Conduct software architecture reviews, risk assessments, and technical trade studies to ensure optimal embedded solutions.
- Support prototype development, testing, and qualification activities for space and airborne systems.
- Own embedded software development through the full lifecycle from concept to production.
- Collaborate with customers and cross-functional teams to define embedded software requirements and system specifications.
- Provide technical expertise for proposal development and customer presentations.
- Ensure all embedded software designs comply with applicable industry standards, regulations, and customer requirements.
- Support quality assurance activities, including software verification and validation testing.
- Maintain software documentation standards and engineering change control processes.
- Foster a culture of continuous improvement and technical excellence within the engineering organization.
Qualifications:
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 3+ years of experience in embedded software development and architecture.
- Expert knowledge of Yocto Project and real-time operating systems (FreeRTOS, VxWorks, etc.).
- Extensive experience with embedded development tools, debuggers, and device driver development.
- Proficiency in C/C++ programming and assembly language for embedded systems.
- Knowledge of communication protocols (SPI, I2C, UART, Ethernet, CAN, Modbus).
- Experience with software for power electronics, control systems, and high-power RF applications.
- Familiarity with aerospace, defense, or satellite communication software development.
- Understanding of DO-178, MIL-STD-882, and space qualification processes for software.
- Knowledge of digital predistortion (DPD), digital signal processing, and adaptive control techniques preferred.
- Experience with AI, GPUs, FPGAs, and NPUs preferred.
- Strong leadership and mentorship skills with the ability to guide and inspire engineering teams.
- Excellent communication, presentation, and technical writing skills.
- Ability to perform complex mathematical calculations including calculus, statistics, and probability theory.
- Ability to thrive in a fast-paced, dynamic environment.
- Active security clearance or ability to obtain clearance preferred.