R&D Signal and Information Processing Software Developer (Engineering Scientist)
The R&D Signal and Information Processing Software Developer will support software development and integration of real-time mid-frequency active sonar processing capabilities, including algorithm design, implementation, verification, and performance analysis, within the Signal and Information Sciences Laboratory's (SISL) Active Sonar Group.
The responsibilities include:
- Working closely with project leadership and stakeholders to identify software requirements, plan development and integration related tasking, and ensure technical execution matches design goals.
- Communicating and collaborating with team members to design and develop new software features and maintain existing software solutions.
- Leading software tasking and development for all software engineering phases and providing regular status updates to project leadership. Supporting the delivery of high-quality software by prioritizing testing and incorporating testing methodologies throughout the software development lifecycle.
- Leading software integration activities by working closely with external collaborators to integrate software components into the tactical sonar systems. Troubleshooting and debugging issues identified during integration activities and acceptance testing in support of on-time delivery of the system.
- Participating in code reviews and ensuring development best practices are followed to adhere to existing coding standards and performance requirements. Documenting and improving process, as needed.
- Documenting software design and implementation, support procedures, and troubleshooting guides to foster knowledge sharing across the team. Documenting and addressing issues.
- Other related functions as assigned.
Required qualifications include:
- Master's degree in Electrical, Computer Engineering, Computer Science, Math, Physics, or other related discipline.
- Three years of experience in software development.
- Demonstrated proficiency with C++ software development in Linux.
- Thorough understanding of object-oriented programming concepts, data structures, design patterns, and algorithm performance analysis.
- Thorough understanding of the software development lifecycle, testing methodologies, and utilization of common application debugging and performance profiling tools.
- Experience troubleshooting complex software systems.
- Experience with Linux and open-source software tools for creating, testing, and documenting code.
- Experience working collaboratively in a team using modern software development practices including version control, issue tracking, and automated testing.
- Familiarity with Bash or similar scripting language.
- Familiarity with basic signal processing concepts.
Applicant must have a dynamic skill set, willing to work with new technologies, be highly organized and capable of planning and coordinating multiple tasks and managing their time. The position will require attention to detail, effective problem-solving skills and excellent judgment. Ability to work independently with sensitive and confidential information, maintain a professional demeanor, work as a team member without daily supervision and communicate effectively. Able to work under pressure and accept feedback and supervision. Regular and punctual attendance.
US Citizen. Applicant selected will be subject to a government security investigation and must meet eligibility requirements for access to classified information at the level appropriate to the project requirements of the position.
Preferred qualifications include:
- Master's degree in Electrical or Computer Engineering, Computer Science, Math, Physics, or other related discipline.
- Six years of software development experience.
- Demonstrated ability to document and present technical information to stakeholders.
- Experience leading a software team.
- Prior military or defense system development experience.
- Eligibility for immediate access to classified information.
- Strong background in digital signal processing concepts.
- Experience with underwater acoustics or wave propagation physics.
- Prior work with detection, ranging, or remote-sensing systems (sonar, radar, lidar), especially for defense applications.
- Hands-on experience with mid-frequency active sonar or underwater sensor systems.
- Proficiency with scientific programming and visualization tools (e.g., MATLAB, NumPy, Matplotlib) for data analysis, algorithm development, and software verification and validation.
- Experience in multi-threaded software development and debugging.
- Experience with distributed system development and debugging using RPC frameworks such as gRPC or CORBA.
- Experience defining, interpreting, and working with custom binary data formats.
- Experience optimizing software for pseudo real-time execution within a constrained computational footprint.
- Experience with TCP/IP and UDP socket programming in Linux.
- Experience with containerization and orchestration.
- Experience with user interface design and implementation; experience with Qt.
- Experience using CI/CD tools and Agile processes.
- Proficiency with Python or other higher level languages to increase productivity when appropriate.
- Cumulative GPA of 3.0.
Salary range: $104,000-$174,000+/negotiable depending on qualifications.
Working conditions include:
- Standard office conditions.
- Repetitive use of a keyboard at a workstation.
- Use of manual dexterity.
- Some weekend, evening and holiday work.
- Possible interstate/intrastate travel.
Required materials include:
- Resume/CV
- 3 work references with their contact information; at least one reference should be from a supervisor
- Letter of interest
- Unofficial college transcripts