The Integrated Systems and Solutions (InSYS) division designs and develops leading-edge R&D technology that support demanding market needs. SRI maintains a state-of-the-art products portfolio that includes real-time video processors, integrated video and sensor exploitation solutions, and instrumented training systems for government and commercial sectors.
The Software Engineer will be involved with the design, development, analysis, testing, debugging, and field support of real-time software and hardware systems. The candidate will develop solutions for integrating hardware and software, including video and sensor data collection, processing, analyzing, and dissemination. The candidate will also be responsible for the documentation of installation, operation, and maintenance procedures as well as interacting with users to define system requirements and/or necessary modifications.
Duties and Responsibilities:
- Work with users to define system requirements and develop internal software requirements
- Participate in the architecture, design, implementation, test/debug and integration of software and hardware systems
- Coordinate requirements-based integration testing and support system test activities
- Provide ongoing maintenance support for released software and hardware systems
- Provide field support for the demonstration and operation of software and hardware systems
- Generate documentation of installation, operation, and maintenance procedure
- BSCE, BSCS, or BSEE with 3+ years of relevant work experience required
- Candidates must be a US citizen with the ability to obtain/maintain a security clearance
- Experience developing moderately complex software with C/C++ in a Windows environment
- Experience working with engineering software and hardware including various device interfaces, drivers, and communications and I/O (UDP, TCP, RS232, etc.)
- Demonstrated capabilities in the design, development, and testing of software/hardware solutions to be used in a high-reliability environment.
- Strong foundation in standard software development processes/methods and configuration management
- Ability to develop efficient, reusable unit and requirements-based software tests.
- Experienced in review of software source code to required coding standards.
- Individual must have good technical abilities, be a self-starter, and a champion for his/her designs and products.
- Must be able to work in a dynamic environment with rapidly changing requirements
- Must be able to travel
- Experience working with any of the following is a plus: Microsoft Visual Studio, ACE, BOOST, .NET, OpenCV, TENA
- Experience working with video, communication protocols, and mesh networking is a plus
- Experience developing C/C++ software in a Linux environment
- Experience working with embedded systems and microcontrollers
- Working knowledge of multi-threaded designs using common real-time operating systems
- Experience developing military products and familiarity with military specifications is desirable
- Working knowledge of DOORS for requirements management