The Signals Software Engineer develops, maintains, and enhances signal processing software (e.g., detectors, demodulators, protocol processors).
Reviews and tests software components for adherence to the design requirements and documents test results.
Resolves software problem reports.
Utilizes software development and software design methodologies appropriate to the development environment.
Provides specific input to the software components of system design to include hardware and software trade-offs, software reuse, use of Commercial Off-the-shelf (COTS) and Government Off-the-shelf (GOTS) in place of new development, and requirements analysis and synthesis from system level to individual software components
-Analyze user requirements to derive software design and performance requirements
-Design and code new software and modify existing software to add new features
-Debug existing software and correct defects
-Describe various signal processing techniques and ability to implement Digital Signal Processing (DSP) in software
-Identify various digital modulation techniques
-Write software using different languages (e.g., C++, Java)
-Develop and implement algorithms to meet system performance and functional standards
-Integrate existing software into new and modified systems and operating environments
-Provide recommendations for improving documentation and software development process standards
-Develop and execute test procedures for software components
-Write and review software and system documentation
-Develop software solutions; confer with users and system engineers; analyze systems flow, data usage and work processes; and investigate problem areas
-Use signal processing algorithms to convert a signal into a more useable form
-Develop and implement algorithms to meet system performance and functional standards
-Modify existing software to correct errors, adapt to new hardware, and improve performance
-Design, develop, and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design
-Design signal processing software based on sparse documentation
-Identify the source of problems in a Radio Frequency (RF) processing system
-Lead one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project
-Design and implement complex signal processing algorithms requiring adherence to strict timing, system resource, or interface constraints
-Perform quality control on products
-Recommend languages to solve problems
-Derive software requirements and obtain information on project limitations and capabilities, performance requirements, and interfaces
-Develop and maintain software framework to enable efficient processing of data
-Identify the source of problems in a Radio Frequency (RF) processing system and associated systems in an enterprise architecture
-Implement recommendations for improving documentation and software development process standards
Required Skills: Bachelor's degree in Electrical Engineering or Computer Science with related discipline in DSP from an accredited college or university is required.
Seven (7) years of experience as a SSWE on a project with a focus on Radio Frequency (RF) to include experience with Fourier transforms, filtering, communications theory, digital modulation, error control coding, signals analysis tools (e.g., WVT, DVT), and digital signal processing (e.g., adaptive beamforming/filtering, demodulation).
Four (4) years of additional SSWE or equivalent experience on projects with similar software processes may be substituted for a bachelor's degree.