Unknown Company

Embedded Software Engineer

san diego, ca • Posted 3 days ago
Onsite Full Time General

Embedded Software EngineerToday, Electronic Warfare is a growing enterprise - protecting the warfighter and our national security against ever-adapting threats. Our Electronic Warfare division currently has an exciting opportunity for an Embedded Software Engineer to perform design, development, and hardware/software integration in San Diego, CA. Leidos is a DOD leader in electronic design and chiplet manufacture. Our division primarily focuses on research & development and advanced prototyping, transforming state-of-the-art processing algorithms into real-time software systems. Projects involve small multi-disciplinary teams of engineers working together in spiral or agile development environments to meet aggressive customer schedules aimed at near-term field demonstrations. Leidos utilizes its proprietary design methodology for hardware software co-design to manufacture custom SoC and IP for high performance applications.

In this role, the Embedded Software Engineer will build high-performance software to meet extreme system requirements. They will be responsible for designing and implementing components to support software development kits that are delivered directly to end users to support quick adoption and ease of use for novel SoC products. This role will require the ability to deeply understand hardware architectures to execute validation and verification testing, a crucial step to ensure hardware and software performance meets customer expectations.Join a team of experts in implementing high-performance signal processing on custom system-on-chip (SoC) hardware and building the tools that enable analysis, rapid prototyping, and deployment of cutting-edge algorithms. The successful candidate will be responsible for:Contributing to the design and development of advanced embedded systems as a part of multidisciplinary teams. These teams are made up of other software team members and subject matter experts from the areas of systems engineering, hardware, firmware, RF front-end design, and signal processing.Developing software for a variety of microarchitectures, including DSP, ARM, or RISC-VDeveloping software for multi-core embedded systems ranging from bare metal to minimal real-time operating systems to Linux environmentsReading and comprehending datasheets to understand expected hardware operationBuilding and documenting test plans, test procedures, and software requirements specificationsWriting low level code (e.g. C) to interface with Control Status Registers (CSRs) and hardware componentsWriting software to validate hardware performance and operation under nominal and stress conditionsBuilding software using test driven development (TDD) methodologiesDocumenting software performance results against key performance requirements for data-plane and control-plane processingUnderstanding software use in high-level system design for real time software in operational systemsClearly communicating technical details of software APIs and test results to internal and external engineersAt Leidos we value passion for learning.

If you believe you have what it takes to succeed in this role and are eager to learn, we encourage you to apply. The successful candidate will have the following basic education/experience:Bachelor's Degree in Computer Engineering, Electrical Engineering, or Computer Science, or related discipline4+ years of software development experience, including strong experience in C/C++ software development for embedded systemsExperience using Integrated Development Environments (e.g. VS Code, Eclipse)Experience with build tools (e.g. GCC, CMake, or Make)Strong understanding of hardware-software interaction and basic computer architecture (e.g. Stack, Heap, Pointers)Experience with version control systems (e.g. Git, Subversion) and continuous integration software tools (e.g.

Jenkins)Experience with software testing tools and methodologiesExperience in creating and maintaining technical documentation for developed softwareAbility to communicate and share ideas, concepts, and designs with a team of engineersUnderstanding of unit test frameworks and test-driven development practicesComfortable working in Linux development environmentsDemonstrated ability and motivation to continually learn new technical skills and concepts** Must have active Secret level security clearance with the ability to obtain a TS/SCI **Bonus education/experience:Master's Degree in Computer Engineering, Electrical Engineering, Computer Science, or equivalentActive security clearance higher than the Secret levelExperience with other programming languages such as Python, MATLAB, or another OOP languageAbility to debug embedded systems using tools like oscilloscopes and logic analyzersExperience developing drivers for hardware interfaces (e.g. GPIO, I2C, SPI, UART, PCIe)Experience with multiple embedded instruction set architectures (e.g. ESP32, Raspberry PI, Arduino, RISCV)Experience using hardware debugging software and tools such as OpenOCD, J-Link, or SEGGER

Back to Job Search