Software Embedded Engineer
SECRET CLEARANCE REQUIRED
The engineer will write software that interfaces with FPGA hardware and other system components, while also developing test tools and supporting system checkout.
The strongest need is embedded Linux experience, especially Red Hat Linux.
The candidate should understand how software interacts with FPGA-connected hardware. Device-driver expertise is helpful.
Day-to-day work may include developing software commands to send and receive messages from system components, building test utilities, collecting performance metrics, testing transmit/receive paths, analyzing timing and latency, measuring throughput, developing unit tests, and validating data flows through the system.
For communication protocols such as Ethernet, PCIe, and USB, the team is more focused on the software/protocol interaction layer than low-level electrical implementation.
Required skills:
Communication Protocols (USB, Ethernet, PCIe, I2C, SPI)
Software unit testing
CI/CD pipelines
Scripting languages – all equal
Real-Time Embedded Systems (RTOS, VxWorks, Xenomai, Linux) – at a minimum, candidates must have Linux.Supporting FPGA-baed Radar hardware
Hybrid 3 on-site days
Advanced Sensor Systems and Test Beds Group supports designing and developing various testbed systems and components to assist data collection . An embedded software engineer is needed to design and implement software of embedded devices and systems from requirements to production.
Job Description:
Designs and implements software of embedded devices and systems from requirements to production and commercial deployment for product lines. Designs, develops, codes, tests and debugs system software. Involved in specifications, design and development of embedded firmware in engineering projects. Analyzes and enhances efficiency, stability and scalability of system resources. Integrates and validates new product designs. Supports software QA. Provides post production support. Interfaces with hardware design and development.
Required:
- Experience in embedded systems development.
- Experience in hands-on development and troubleshooting on embedded targets.
- Solid programming experience in C or C++.
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems.
- Knowledge of reading schematics and data sheets for components. Strong documentation and writing skills.
*Please see full list of required skills in the qualification table.
Other:
Work location: Hybrid - Candidates should expect to be onsite 3 days a week.
Clearance: Candidates must have an active secret clearance to be considered for this position.
Travel: Estimated at 5% domestic and international