Embedded Software Engineer

LeidosSan Diego, CA
Onsite

About The Position

Electronic Warfare is a growing enterprise focused on protecting warfighters and national security against evolving threats. Leidos' EW division offers an exciting opportunity for an Embedded Software Engineer in San Diego, CA, to perform design, development, and hardware/software integration. Leidos is a DOD leader in electronic design and chiplet manufacture, specializing in research & development and advanced prototyping, transforming state-of-the-art processing algorithms into real-time software systems. Projects involve small, multi-disciplinary teams working in spiral or agile development environments to meet aggressive customer schedules for near-term field demonstrations. Leidos uses a 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, designing and implementing components for software development kits delivered to end-users for quick adoption of novel SoC products. The role requires a deep understanding of hardware architectures to execute validation and verification testing, ensuring hardware and software performance meets customer expectations. The engineer will join a team of experts implementing high-performance signal processing on custom system-on-chip (SoC) hardware and building tools for analysis, rapid prototyping, and deployment of cutting-edge algorithms.

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

Nice To Haves

  • 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 NKE

Responsibilities

  • 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

Benefits

  • competitive benefits
  • 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
  • Health and Wellness programs
  • Income Protection
  • Paid Leave
  • Retirement
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service