Skills and Certifications
digital signal processing
We are not looking for embedded software developers or firmware developers. Here is a list of prescreen questions:
- Have you developed any C++ program over the last year?
- Have you developed any deadline-based, real-time applications within the last 2 years?
- Have you ever implemented software optimization for real-time performance?
- Have you targeted any software applications for Linux over the past 5 years?
- In the last 2 years have you developed a multi-thread application using the POSIX API?
- Have you ever implemented a parallel algorithm?
- Do you have experience with high performance computing?
The Signal Process Technology group focus is on state-of-the-art processing technologies and distributed high performance computing architectures that are used to build next-generation Radar Signal Processing applications.
The Software Signal Processing Engineer position responsibilities include working within Linux, Unix and Real Time Operating System developing C/C++ implementation of signal processing algorithms and time critical control functions involved in and direct control of sensor systems. This position will include working closely with Software Architects and Principal Systems, Hardware, and Software engineers to interpret requirements and correctly implement these requirements in software.U.S. Security Clearance is required within 1 year of start date.Required Skills:
- Bachelor's degree in an engineering or scientific discipline. Advance degree desirable.
- 4 to 10+ years or relevant experience
- Multi-threaded application development experience that includes testing and debugging in C++/C on Linux or Unix environments
- Ability to translate system performance and operation specifications into software requirements, design, and test specifications
- U.S. Citizenship is required
Keywords: signal processing, algorithms, C++, Linux, Unix, software requirements, design, test specifications, receiver, pthread
- Working understanding of parallelism and concurrency as applied to algorithm implementation on shared memory and distributed systems
- Direct experience implementing complex signal processing algorithms in C++ meeting latency and throughput performance requirements or experience in implementing complex control operations in software with defined performance timelines
- Experience in developing and optimizing algorithms for performance.
- Experience in multi-threaded, multiprocessor software development using pthreads, OpenMP, or MPI programming models on clustered deployments
- Experience developing applications for GPGPU and/or Intel Xeon Phi processors
- Familiar with software configuration management and development process control (i.e. CMMI)
- Experience in using version control tools such as ClearCase
- Continuous integration and test experience in a hardware/software laboratory environment
- Strong communication skills
- Ability to work independently and in a team
- High degree of creativity and ability to solve a wide range of difficult problems
- Ability to obtain a Secret security clearance