Software Engineering Scientist
Core
Design and develop high-performance distributed software in C++ for advanced signal processing, control, and monitoring within Linux environments for sonar and networked systems.
Role type
Senior C++ Software Engineer (Signal Processing & Embedded Systems)
Builds
Distributed software applications, test automation frameworks, and system monitoring components for sonar and networked systems.
Domain
Defense/Aerospace, Signal Processing, Embedded Systems
Deliverable
production ML models | product features | infrastructure
Required skills
C++ (Linux), Object-Oriented Programming, Data Structures & Algorithms, Multi-threaded Development, Distributed Systems, TCP/IP Socket Programming, Linux Administration, Test Automation, CI/CD
Preferred skills
Master's in EE/CS/CompE, Database Design, Web Front/Back-end, Container-based implementations, Agile processes, Network system partitioning
Technologies
C++, Linux, TCP/IP, UDP, Containers, CI/CD tools, Version Control
Responsibilities
Design and develop high-performance distributed software in C++ for signal processing and control; Implement test automation for unit and system levels; Troubleshoot complex software systems; Document design and implementation thoroughly.
Seniority
Mid-Senior level, hands-on IC