Software Engineer
Role details
Job location
Tech stack
Job description
In this role, the Software Engineer will develop and maintain APIs written in Python and MATLAB used to control Hardware Test Equipment, design and build a GUI to serve as a user-facing interface for the Leidos SoC products, and develop complex, highly integrated testing system for RF signal processing applications.
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 object-oriented applications in Python/MATLAB
- Designing, implementing, and testing software to configure and control RF hardware devices
- Integrating low-level software with a user-facing GUI
- Developing Hardware-in-the-loop (HITL) tests to validate low-level software APIs
- Designing and implementing test framework for implementing HITL tests and deploying applications in HITL test environments
- Documentation of the developed test software and embedded systems
- Clearly communicating technical details of test software to internal and external engineers
- Supporting system field testing and collection events, usually about a week in duration once or twice a year
Requirements
- Bachelor's Degree in Computer Engineering, Electrical Engineering, or Computer Science, or related discipline
- 4+ years of software development experience, including strong experience in programming in Python, MATLAB, or C++
- Strong understanding of object-oriented design
- Basic understanding of hardware-software interaction and basic computer architecture
- Experience with hardware interfaces (e.g. PCIe, UART, Ethernet)
- Experience with build tools (e.g. GCC, CMake, or Make)
- Experience using version control (e.g. git, Subversion) and continuous integration software tools (e.g. Jenkins)
- Experience with software testing tools and methodology
- Experience in creating and maintaining technical documentation for developed software
- Ability to communicate and share ideas, concepts, and designs with a team of engineers
- Demonstrated ability and motivation to continually learn new technical skills and concepts
- Understanding of unit test frameworks and test-driven development practices
- 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
- Ability to debug embedded systems using tools like oscilloscopes and logic analyzers
- Experience maintaining, tracking, and updating ticket/status using Gitlab or similar interface
- Experience using common scripting languages (e.g. bash)
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 .