Embedded Software Engineer

Leidos, Inc.
San Diego, United States of America
5 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate
Compensation
$ 126K

Job location

San Diego, United States of America

Tech stack

Testing (Software)
API
Systems Engineering
Arduino
Unit Testing
C++
CMake
Computer Engineering
Continuous Integration
Software Debugging
Eclipse
Embedded Software
Firmware
Hardware Interface Design
Integrated Development Environments
Python
Linux System Administration
Matlab
Multiprocessing
PCI Express
Rapid Prototyping Process
Raspberry Pi
Real-Time Operating Systems
Software Tools
Oop Languages
Reduced Instruction Set Computing
Signal Processing
Software Construction
Software Engineering
Software Requirements Analysis
Subversion
System on a Chip
Systems Integration
Universal Asynchronous Receiver/Transmitter
Serial Peripheral Interface
Test Driven Development
GIT
Linux Development
Information Technology
Bare Metal
Build Tools
Operational Systems
Front End Software Development
Hardware Infrastructure
Heap (Data Structure)
Software Performance
Software Version Control
Jenkins
Hardware Debugging
Programming Languages

Job description

Today, Electronic Warfare is a growing enterprise - protecting the warfighter and our national security against ever-adapting threats. Our EW division currently has an exciting opportunity for an Embedded Software Engineer to perform design, development, and hardware/software integration in San Diego, CA for the Electronic Warfare Division.

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-V
  • Developing software for multi-core embedded systems ranging from bare metal to minimal real-time operating systems to Linux environments
  • Reading and comprehending datasheets to understand expected hardware operation
  • Building and documenting test plans, test procedures, and software requirements specifications
  • Writing low level code (e.g. C) to interface with Control Status Registers (CSRs) and hardware components
  • Writing software to validate hardware performance and operation under nominal and stress conditions
  • Building software using test driven development (TDD) methodologies
  • Documenting software performance results against key performance requirements for data-plane and control-plane processing
  • Understanding software use in high-level system design for real time software in operational systems
  • Clearly communicating technical details of software APIs and test results to internal and external engineers

Requirements

  • Bachelor's Degree in Computer Engineering, Electrical Engineering, or Computer Science, or related discipline and 2 years of experience or a MS with relevant experience.
  • Strong software development experience, including experience in C/C++ software development for embedded systems
  • Experience 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 methodologies
  • Experience in creating and maintaining technical documentation for developed software
  • Ability to communicate and share ideas, concepts, and designs with a team of engineers
  • Understanding of unit test frameworks and test-driven development practices
  • Comfortable working in Linux development environments
  • Demonstrated 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 equivalent
  • Active security clearance higher than the Secret level
  • Experience with other programming languages such as Python, MATLAB, or another OOP language
  • Ability to debug embedded systems using tools like oscilloscopes and logic analyzers
  • Experience 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

Benefits & conditions

Pay and benefits are fundamental to any career decision. That's why we craft compensation packages that reflect the importance of the work we do for our customers. Employment benefits include competitive compensation, Health and Wellness programs, Income Protection, Paid Leave and Retirement. More details are available at www.leidos.com/careers/pay-benefits .

About the company

At Leidos, we offer competitive benefits http://www.leidos.com/careers/pay-benefits, including 4 or more weeks Paid Time Off, 11 paid Holidays, 401K with a 6% company match and immediate vesting, Flexible Schedules, Discounted Stock Purchase Plans, Technical Upskilling, Education and Training Support, Parental Paid Leave, and much more. Join us and make a difference in Electronic Warfare Technology!, Leidos is an industry and technology leader serving government and commercial customers with smarter, more efficient digital and mission innovations. Headquartered in Reston, Virginia, with 47,000 global employees, Leidos reported annual revenues of approximately $16.7 billion for the fiscal year ended January 3, 2025. For more information, visit www.Leidos.com .

Apply for this position