Senior Embedded Software Engineer
Leonardo DRS · Melbourne, FL · 4 wk ago
EngineeringFull-time
Location: Melbourne, FL
About the Role
The Senior Embedded Software Engineer is responsible for the architecture, design, development, integration, verification, and sustainment of complex embedded software solutions. This individual serves as a technical leader within a project team, providing technical guidance to junior engineers while owning significant software subsystems from concept through deployment. The role requires strong expertise in embedded systems, hardware/software integration, system-level debugging, and cross-functional collaboration.
Responsibilities
- Lead the design, development, integration, and verification of complex embedded software components and subsystems.
- Own software architecture and implementation decisions for assigned products and features.
- Develop software solutions for Bare-Metal, RTOS, and Embedded Linux environments.
- Design and implement low-level drivers, middleware, communication protocols, and application software.
- Lead software integration efforts involving processors, FPGA designs, sensors, imaging systems, and peripheral devices.
- Perform root-cause analysis and resolve complex software and system-level issues.
- Develop software requirements, architecture documents, design specifications, and verification procedures.
- Conduct code reviews and mentor junior engineers in software design, implementation, and debugging techniques.
- Collaborate with systems, FPGA, hardware, verification, manufacturing, and program teams to ensure successful project execution.
- Support project planning activities including technical risk identification, effort estimation, and schedule development.
- Participate in customer demonstrations, technical reviews, and design reviews.
Requirements
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, Software Engineering, or related technical discipline.
- Minimum 5 years of embedded software development experience.
- Expert-level proficiency in C and C++.
- Strong Python development experience.
- Experience developing software in Bare-Metal, FreeRTOS, and/or Embedded Linux environments.
- Experience developing software for AMD/Xilinx Zynq UltraScale+ MPSoC and/or MicroBlaze platforms.
- Experience using AMD Vitis IDE and associated debugging tools.
- Experience developing and debugging low-level device drivers including UART, SPI, I2C, DMA, GPIO, and Ethernet interfaces.
- Strong understanding of embedded software architecture and design principles.
- Experience with hardware/software integration and system-level debugging.
- Familiarity with GitLab, JIRA, Confluence, and software configuration management practices.
- Strong communication and technical leadership skills.
- U.S. Citizenship required.
- This position requires an active DOD security clearance or the ability to obtain such clearance within a reasonable time after commencement of employment.
Preferred Qualifications
- Experience with EO/IR imaging systems, video processing, and sensor integration.
- Experience with Ethernet, TCP/IP, lwIP, networking protocols, and distributed embedded systems.
- Experience with software verification, automated testing, and CI/CD pipelines.
- Experience mentoring junior engineers.
- Experience supporting customer-facing technical activities and design reviews.
Benefits
- Competitive salaries and comprehensive benefits, including medical, dental, and vision coverage.
- Company contribution to a health savings account.
- Telemedicine, life and disability insurance, and legal insurance.
- 401(k) savings plan.
- Wellness programs focusing on physical, emotional, and financial well-being.
- Professional development and skill enhancement programs.
- Flexible work schedules with a 9/80 program.
- Competitive vacation, health/emergency leave, and paid parental leave.
- Community service hours.
Some employees are eligible for limited benefits only.
Schedule
9/80 work schedule.