Typical job functions for the Senior Software Engineer include planning, conduct, and coordination of software designs, software development, documentation, testing, and debug of software that contains logical and mathematical solutions to business/mission problems. Software Engineers apply the appropriate standards, processes, procedures, and tools throughout the development life cycle as well as correct program errors, prepare operating instructions, compile documentation of program development, and analyze system capabilities to resolve questions of program intent.
- Minimum 4-6 years of related technical individual contributor experience in large team software engineering development
- 4+ years’ experience with C/C++ programming and similar languages
- 4+ years’ experience in Green Hills Integrity Real-time Operating Systems, board support package (BSP), Green Hills Multi IDE for C/C++ or related operating systems
- 4+ years’ experience in real-time development and architecture for GPS Receiver software
- Real time embedded programming, Communications Systems, and Signal Processing
- Work related experience in algorithm and hardware design
- Working knowledge of Microsoft Visual Studio and Mathlab
- Applies and/or develops highly advanced technologies and concepts exhibiting an exceptional degree of ingenuity, creativity and resourcefulness in the architecture, design and concepts consistent with systems requirement and interface designs.
- Experience in a matrixed environment working with Integrated Product Teams (IPTs)
- Working experience in MS Office or other presentation tools
- Active DoD Secret Clearance
- Working knowledge with MIL-STD-1553, IS-GPS-153 Serial Interface protocol, signal selection, acquisition and tracking, Position, Velocity, and Time (PVT) calculation, data demodulation, signal correction, jamming and spoofing or related applications
- Understanding of Board Support Package for ARM Processor, Atom Processor, and PPC
- Basics understanding of FORTRAN, ClearCase, ClearQuest, and DOORS
- Familiarity with Agile lifecycle process including Scrum, Continuous Integration, Static Code Analysis using Coverity, Unit Test using VectorCast, and Test-Driven Methodologies
- Understanding of software best practices and development lifecycles
- Understanding of standard system engineering design artifacts such as Use Cases
- Must have demonstrated ability to produce robust, well-documented, production-quality code which includes conforming to design and coding standards, implementing error handling routines, etc.
- Must have demonstrated ability to develop software using industry standard process such as Capability Maturity Model Integrated (CMMI) Level 3
Required Education: BS or higher degree in Engineering, Science, Mathematics, Physics, or equivalent.