Senior SDR C++ Signal / RF Software Engineer

Overview

Hybrid
$150,000 - $180,000
Full Time

Skills

Digital Signal Processing
FPGA
C++
RF
Spectrum
Signal Processing

Job Details

Senior SDR Software Engineer

$150k - $180k flex 15% bonus

Location: Fremont, CA Within one hour flight time, you would come into the office a couple of days a month in Fremont, CA

The keys to this role: the key is C++, Xilinx is the platform, Linux would be useful, spectrum signal processing, geo server, RF

Need to be a or a permanent resident

Looking for a senior software defined radio SDR Software Enginee,r. You will have extensive C++ Software development, Lambda functions, algorithms using c++ 17 multithreading multitask multicore embedded servers software ADC RF receiver architectures Linux Windows TCP/VDP networking CC# API QA testing

Required Experience

Experience with FPGA co-processing (ie. Spectrum Signal Processing algorithms, FFT, CCDF, ZIP, DDC,Geo location) and managing Interrupts/data blocks

Extensive C/C++ software development experience (6+ years) with proficiency in such language features as templates, Lambda functions, vectors, maps and algorithms etc. using C++17 or newer standards

Extensive experience in design, implementation and testing of complex real-time multithreaded/multitasking/multicore embedded server software supporting multiple simultaneous clients

Experience with designing well-crafted C++ classes/modules

Clear understanding of ADCs, RF Receiver architectures and associated quality metrics

Cross-platform programming for Linux and Windows targets

Experience in developing/using Windows and Linux libraries

Clear understanding of Synchronization primitives, Queueing and task scheduling

TCP Message based Client/Server communication

Realtime hardware control and data acquisition

SCPI control

TCP/UDP Networking and socket level programming

C++/C API programming (developing and using)

GUI design and programming using Visual Studio and Open-source tools

Databases and database programming (incl. SQLite)

Software QA testing

Ability to quickly learn and support a large existing C++ code base.

Excellent communications skills

Ability to write technical product documentation

Preferred/Desired Knowledge, Skills, and Abilities

Knowledge of Signal Direction finding / Geolocation concepts

Extensive Math, Digital Signal Processing (DSP) and RF communication signals background

Signal analysis techniques and tools

RF system and Software Defined Radio (SDR) Platforms such as HackRF, USRP, Pluto and application Frameworks such as GNU Radio, CubicSDR, SDR++ etc.

Xilinx/AMD Zynq and/or UltraScale+ development experience

Xilinx/AMD FGPA development experience

PCIe and NVMe interfaces

Programming expertise:

VITA49 exposure

Machine learning concepts and programming

Python programming

Tools:

MATLAB/Octave experience

TensorFlow, PyTorch

Microsoft Visual Studio, Visual Studio Code, TFS and Git

Eclipse IDEs for C++ and Java development

Cross-platform development

RF Measurement equipment (VSA/spectrum analyzers, signal generators, and other electronic test equipment)

Windows, including desktop and embedded variants (IoT)

Intel IPP

Linux utilities and shells

Experience with MFC, C# and Windows development tools/APIs

Docker containers and VMs

Creating and maintaining automated software build systems

Generation and execution of QA testing including writing automated QA test programs

Education & Certifications

6+ years relevant work experience.

MSEE/MSCS (or BSEE/BSCS with extended relevant work experience) with emphasis on Embedded Software and Digital Signal Processing/Wireless Communication.

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.