The successful candidate will be responsible for designing, implementing, debugging and fixing problems with the software applications, as well as supporting software integration and verification efforts. The applications are developed using C++ programming language running in a distributed fashion across a variety of computing platforms running Linux, UNIX or Windows operating systems.
The software is developed and delivered incrementally using Agile development methods, including Scrum, automated testing and continuous integration. The candidate will be an active participant on the Scrum team, performing development tasks independently. The successful candidate will employ their understanding of real-time software design to recognize the performance implications associated with specific detail implementations. The candidate will use the "big picture” view of the system to develop or review detail solutions at the source code level.
- BS degree in Computer Science, Computer Engineering, Electrical Engineering, Mathematics, Software Engineering or STEM related.
- 10 plus years’ experience on all phases of Software Engineering including:
- 8 plus years' experience with C++.
- 5 plus years' Linux or UNIX experience.
- Experience developing software in a team based development environment, preferably Agile/SCRUM.
- Excellent verbal and written communication skills.
- Must be a US Citizen able to obtain a security clearance.
- Master's Degree in Computer Science, Computer Engineering, Electrical Engineering, Mathematics, or Software Engineering.
- Existing secret clearance, or ability to obtain an interim clearance.
- Experience in Agile development methods, including Scrum, automated testing and continuous integration.
- Software development experience in a DoD environment.
- Software development experience of a Signal Processing application.
- Experience in developing and optimizing algorithms for performance.
- Strong software integration and problem solving abilities.
- Self-starter and ability to lead development, integration and test activities.
- Familiarity with the following Software Tools:
- Rational Rhapsody
- Clear Case
- Team Concert
- Strong (OOD) Object-Oriented Design Knowledge, including UML.
- Direct experience implementing complex signal processing algorithms in C++ meeting latency and throughput performance requirements or experience in implementing complex control operations in software with defined performance timelines.