Software DeveloperPOSITION SUMMARY:Reporting to the Operations Manager, the Software Developer plays a critical role in the design, development, and sustainment of our software applications that control, monitor, and visualize data from our advanced sonar systems. This position requires strong software engineering fundamentals, a solid understanding of hardware-software interaction, and the ability to collaborate effectively within a hybrid team environment.
Our application software is central to the user experience of our sonar portfolio, making this role essential to delivering reliable, high-performance products to our customers.
ROLE AND RESPONSIBILITIES:- Design, implement, test, debug, and document software applications for controlling and monitoring sonar devices, primarily using C++ and the Qt framework on Windows.
- Diagnose and resolve defects, enhance existing features, and contribute to the evolution of current applications.
- Develop and maintain design documentation to support efficient maintenance, scalability, and code reuse.
- Ensure software meets functional, performance, stability, and reliability requirements.
- Collaborate closely with engineering peers, product managers, and cross functional stakeholders to understand requirements and deliver high quality features.
- Stay current with modern technologies, tools, and best practices; recommend improvements that support product and business goals.
- Contribute to system architecture discussions and help define scalable design patterns.
- Participate in continuous improvement of development processes, tools, and workflows.
QUALIFICATIONS AND EDUCATION REQUIREMENTS:- Bachelor's degree in Engineering, Computer Science, or a related discipline; equivalent experience will be considered.
- 5 or more years of professional experience in software design and development.
- Strong proficiency in C++ and object oriented programming.
- Experience with UI/UX development is an asset.
- Must be a US Citizen and hold a valid US Passport.
- Must be eligible and able to hold a security clearance.
Technical Experience (any combination of the following):
- Software system design and development in C++.
- Ethernet/sockets programming (e.g., TCP/IP).
- Multi-threaded application development.
- Windows and/or Linux operating systems.
- Familiarity with Windows API.
- GUI design and development (Qt preferred).
- GIS development experience.
- Agile development methodologies.
- System integration and testing.
- Azure DevOps, Git, or similar version control and CI/CD systems.
- Signal and image processing.
- Experience collaborating with cross-functional hardware and software teams.
- Experience working with hybrid, local, and remote development teams.
Soft Skills and Additional Requirements:
- High energy, enthusiasm, and a strong drive to deliver exceptional products.
- Ability to focus, prioritize, and see tasks through to completion.
- Strong analytical and problem-solving abilities.
- Working knowledge of electronic assemblies is an asset.
- Proficiency with Microsoft Office tools.
- Excellent written and verbal communication skills.
- Strong interpersonal and organizational skills.
Pay Range: $140,000 - 160,000 annually, DOE
Work Location: Remote, preferably near our office in Lynnwood, WA.