Algorithm Software EngineerToday, 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 Algorithm 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 Algorithm Software Engineer will develop and deploy cutting edge signal processing applications to improve the capabilities of the warfighter in modern electronic warfare environments. This role requires understanding signal processing algorithms and deploying them to massively parallelized pipelines executed to meet extreme real-time requirements on Leidos SoCs. The Algorithm Software Engineer is responsible for interfacing with a diverse set of engineers from signal processing, embedded, and RF teams.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 design and development of advanced systems as a part of multi-disciplinary 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.Designing, implementing, and testing C applications in a real-time environmentUnderstanding and analyzing signal processing algorithms developed in MATLABPorting signal processing algorithms from MATLAB, Python, or C++ to C in a multi-core environment on Leidos SoCsOptimizing C code for DSP applications (i.e.
leveraging SIMD, VLIW, or hardware accelerators) and parallel processing to achieve real-time requirementsDeveloping Hardware-in-the-loop (HITL) tests to validate signal processing algorithmsClearly communicating technical details of software to internal and external engineersSupporting system field testing and collection events, usually about a week in duration once or twice a yearAt 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 Science8+ years of software development experience, including strong experience in C/C++ software development for embedded systemsUnderstanding of linear algebra and probabilityStrong understanding of basic signal processing (e.g. Fourier transforms, filtering, complex arithmetic)Understanding of hardware-software interaction and basic computer architectureExperience in MATLAB and signal processing algorithmsExperience with build tools such as GCC, CMake, or MakeExperience using version control (e.g. git, Subversion, etc.) and continuous integration software tools (e.g.
Jenkins)Experience with software testing tools and methodologyExperience in creating and maintaining technical documentation for developed softwareAbility to communicate and share ideas, concepts, and designs with a team of engineersComfortable working in Linux development environmentsDemonstrated ability and motivation to continually learn new technical skills and conceptsMust 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 and 6+ years of experienceActive security clearance at the Secret level or higherExperience with other programming languages such as MATLAB, or equivalent OOP languageExperience with parallel processing (e.g. SIMD, VLIW, distributed computing)Experience with RF signal processing or related applicationsExperience maintaining, tracking, and updating ticket/status using Gitlab or similar interface