Position Overview
The Senior Software Engineer is a senior technical contributor responsible for designing, implementing, and supporting embedded and real-time software systems. This role focuses on architecture, protocol implementation, and high-reliability communication systems used in complex, hardware-integrated environments.
The position requires deep expertise in embedded software, real-time systems, and distributed communication, along with the ability to mentor junior and intermediate engineers.
Contract Length: Initial 6-month contract with potential extension
Key Responsibilities
- Own architectural decisions for real-time embedded communication systems
- Design and implement message routing, translation layers, and distributed messaging architectures
- Develop production-quality embedded software with a focus on reliability, determinism, and performance
- Implement and maintain hardware interface layers using C/C++
- Design real-time systems with deterministic timing requirements
- Integrate heterogeneous network types across hardware and software boundaries
- Author and maintain technical documentation including ICDs and configuration schemas
- Establish configuration standards across device families
- Lead hardware/software integration efforts with FPGA and systems teams
- Drive code quality standards for safety-critical embedded systems
- Support and mentor junior and intermediate engineers through reviews and guidance
- Contribute to system-level debugging, performance tuning, and continuous improvement initiatives
Required Qualifications
- Bachelor’s degree in Computer Science, Engineering, or related field (Master’s preferred)
- 8+ years of professional software development experience
- Expert-level Rust experience in production embedded environments
- Strong proficiency in C/C++ for low-level and hardware interface development
- Experience designing distributed messaging architectures
- Experience with automotive and industrial communication protocols (CAN 2.0, J1939, CANopen)
- Proven experience developing real-time systems with deterministic timing requirements
- Demonstrated ability to bridge heterogeneous network types
- Experience authoring technical specifications and protocol documentation
- Track record of mentoring engineers
- Strong written and verbal communication skills
Preferred Qualifications
- FPGA development experience (VHDL/Verilog)
- Experience with time-sensitive networking (TSN) or deterministic Ethernet
- RTOS experience (FreeRTOS, Zephyr, or QNX)
- Experience with UAV or drone systems including flight controllers or telemetry
- Protocol design and specification authorship experience
- Systems integration experience across hardware and software boundaries
- Ability to obtain a security clearance
Core Competencies
- Embedded and real-time software architecture
- Distributed systems and communication protocols
- Hardware/software integration
- Technical leadership and mentorship
- Analytical problem-solving and debugging
- High-reliability and safety-critical system design
#HRUProfessional