Senior Embedded Software Engineer
Role details
Job location
Tech stack
Job description
This role focuses on the architecture, design, development, integration, verification, and sustainment of complex embedded software solutions for advanced electro-optical, infrared, imaging, display, and sensor-based systems. The Embedded Software Engineer acts as a technical leader, owning significant software subsystems from concept through deployment while guiding junior and mid-level engineers. The position supports mission-critical military and defense applications involving cameras, displays, embedded processors, real-time operating systems, and system-on-chip technologies. This is a hands-on role suited for an engineer with strong Embedded C/C++ skills, experience with FreeRTOS or Embedded Linux, and familiarity with AMD/Xilinx processing platforms who can lead development efforts in a highly technical environment.
Responsibilities
-
Lead the design, development, integration, testing, and sustainment of complex embedded software components and subsystems.
-
Own software architecture, key design decisions, implementation strategies, and technical execution for assigned products, features, or subsystems.
-
Develop embedded software for AMD/Xilinx Zynq UltraScale+ MPSoC, MicroBlaze, and other SoC-based processor platforms.
-
Design and implement software for Bare Metal, FreeRTOS, and Embedded Linux/Ubuntu environments.
-
Develop and debug low-level drivers, middleware, communication protocols, and application-level software.
-
Integrate embedded software with FPGA, hardware, sensor, display, and imaging subsystems.
-
Lead hardware/software integration activities, including board bring-up, system-level debugging, and root-cause analysis.
-
Develop and troubleshoot communication interfaces such as I2C, SPI, UART, RS-232, GPIO, Ethernet, TCP/IP, and lwIP Ethernet stacks.
-
Support camera, display, image processing, electro-optical/infrared, and sensor-based embedded systems.
-
Create and maintain software requirements, architecture documentation, design specifications, verification plans, and test procedures.
-
Conduct code reviews and provide technical mentorship and guidance to junior and mid-level embedded software engineers.
-
Collaborate closely with systems, hardware, FPGA, verification, manufacturing, and program management teams to meet technical, schedule, and quality objectives.
-
Support technical planning activities, including risk identification, effort estimation, and schedule development.
-
Participate in technical reviews, design reviews, customer demonstrations, and cross-functional engineering discussions.
-
Utilize development and collaboration tools such as GitLab, Jira, Confluence, AMD Vitis, Linux, and Ubuntu to support software development and team coordination., This role is based fully onsite in Melbourne, FL, within a highly technical engineering environment focused on mission-critical embedded systems for advanced imaging, electro-optical/infrared, and sensor-based applications. You will work closely with multidisciplinary teams, including hardware, FPGA, systems, verification, manufacturing, and program management, to deliver robust embedded solutions. The work involves hands-on development and debugging in lab settings using oscilloscopes, logic analyzers, protocol analyzers, and other diagnostic tools. Daily activities include using modern software development and collaboration tools such as GitLab, Jira, Confluence, AMD Vitis, Linux, and Ubuntu. The environment emphasizes rigorous engineering practices, thorough documentation, and close coordination across teams to meet demanding technical, schedule, and quality objectives.
Requirements
-
5+ years of professional embedded software development experience.
-
Strong hands-on programming experience in C and C++, with an emphasis on Embedded C++ development.
-
Experience developing embedded software in one or more environments, including FreeRTOS, Embedded Linux, Ubuntu, and Bare Metal systems.
-
Experience developing software for modern embedded processor or SoC platforms.
-
Experience with AMD/Xilinx Zynq UltraScale+ MPSoC, MicroBlaze, or similar embedded processing architectures.
-
Experience using AMD Vitis or similar embedded software development and debugging tools.
-
Experience developing and debugging low-level drivers and hardware interfaces, including I2C, SPI, UART, RS-232, GPIO, and Ethernet.
-
Strong understanding of TCP/IP networking fundamentals and embedded communication protocols.
-
Experience with hardware/software integration, board bring-up, system-level debugging, and lab-based troubleshooting.
-
Familiarity with software development tools and processes, including GitLab, Jira, Confluence, and software configuration management.
-
Strong troubleshooting, analytical, communication, and technical leadership skills.
-
Ability to work fully onsite in Melbourne, FL.
-
U.S. citizenship.
-
Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, Software Engineering, or a related technical discipline.
Additional Skills & Qualifications
-
Experience supporting electro-optical/infrared imaging systems, cameras, displays, video processing, or image processing applications.
-
Experience with military, defense, aerospace, or other mission-critical embedded systems.
-
Hands-on experience with FreeRTOS in production embedded environments.
-
Experience with Ethernet stack development, including lwIP, TCP/IP, and embedded networking protocols.
-
Experience with distributed embedded systems and real-time communication interfaces.
-
Experience with AMD/Xilinx UltraScale+ development on SoC-based platforms.
-
Experience mentoring junior engineers or serving as a technical lead on embedded software programs.
-
Experience supporting software verification, automated testing, CI/CD pipelines, or requirements-based development.
-
Experience using lab equipment such as oscilloscopes, logic analyzers, protocol analyzers, and other debugging tools.
-
Experience working directly with FPGA, electrical, systems, and verification engineering teams.
-
Active DoD security clearance preferred, with the ability to obtain a clearance if not already held.
-
Active Secret clearance or higher is highly desirable.
Benefits & conditions
This is a Permanent position based out of Melbourne, FL.
Pay and Benefits
The pay range for this position is $125000.00 - $140000.00/yr.
Leonardo DRS offers a competitive benefits package that may include: Medical, dental, and vision coverage Company contribution to a Health Savings Account Telemedicine Life and disability insurance Legal insurance 401(k) savings plan Wellness programs focused on physical, emotional, and financial well-being Career development and professional growth programs 9/80 work schedule Competitive vacation Health and emergency leave Paid parental leave Community service hours
Workplace Type