Principal RF Software Engineer
Job Description
Lead end-to-end software engineering for Radio Frequency (RF) and Digital Signal Processing (DSP) solutions in mission-critical government environments.
Responsibilities
- Design, develop, implement, and optimize advanced DSP algorithms for signal processing and analysis applications
- Create and maintain high-performance software applications using C++, Python, and Linux-based development environments
- Develop complex algorithms that satisfy strict timing, computational resource, performance, and interface requirements
- Build software for processing-intensive analytics, large-scale datasets, real-time systems, and advanced algorithm development
- Apply mathematical models and scientific analysis to assess software performance, predict system behavior, and validate engineering solutions
- Evaluate user and system requirements to produce software design specifications, functional requirements, and performance standards
- Modify and enhance existing software to fix defects, improve performance, support new hardware, and add functionality
- Develop and optimize database interfaces and queries to enable data processing and analysis needs
- Integrate software components into new or existing systems, hardware platforms, and operating environments
- Develop, execute, and review software testing procedures to verify functionality, performance, and compliance with system requirements
- Troubleshoot complex software issues, determine root cause, and implement corrective actions
- Collaborate with systems and hardware engineers on technical requirements, system limitations, interface constraints, and performance considerations
- Support software installation, system integration, and operational testing to meet technical specifications
- Assess software reuse opportunities and evaluate integration of Commercial Off-the-Shelf (COTS) and Government Off-the-Shelf (GOTS) solutions
- Conduct software performance analysis and implement improvements to enhance efficiency, reliability, and scalability
- Act as a senior technical contributor or team lead across the software development lifecycle
- Provide technical direction, mentorship, and guidance to software engineers and development teams
- Lead software design reviews, code reviews, testing activities, and technical discussions
- Oversee software development execution to ensure deliverables meet technical requirements, quality standards, and project timelines
- Partner with stakeholders to surface technical challenges, recommend solutions, and support engineering decisions
- Perform quality control reviews of software deliverables and ensure adherence to established development processes
- Develop, review, and maintain software architecture documentation, technical specifications, design documentation, and testing reports
- Recommend and implement improvements to software development methodologies, documentation standards, and engineering best practices
Requirements
- US Citizen with TS/SCI with Poly required
- Bachelor of Science degree in Engineering, Computer Science, or related technical discipline from an accredited college or university
- 12 years of experience as a DSP Algorithm Developer supporting complex software development and signal processing projects
- 12 years of software development experience using C++, Linux, Python, or similar development technologies
- Hands-on C++ development experience within the last 10 years
- Strong proficiency in C++ programming and Linux-based software development
- Demonstrated experience designing, developing, implementing, and optimizing complex DSP algorithms
- Experience developing high-performance software for computationally intensive or real-time processing applications
- Strong understanding of software architecture, system integration, debugging, and performance optimization
- Experience developing complex algorithms operating within strict timing, system resource, or interface constraints
- Experience applying mathematical modeling and analytical techniques to software design and development
- Ability to analyze technical requirements and translate them into effective software solutions
- Experience supporting software testing, integration, troubleshooting, and technical documentation
- Demonstrated ability to provide technical leadership and collaborate with multidisciplinary engineering teams
Technologies
- C++
- Python
- Linux
- DSP
- COTS
- GOTS
Benefits
- Eligible candidates may receive a sign-on bonus of up to $10,000
Location and Work Mode
- Hanover, MD (onsite)