Title of Position: Software Engineer Level 2
Description of Position:
- Provide software development, integration, maintenance, and technical support for near real-time SIGINT hardware and software solutions for various UHF/VHF signals to include Trunked Mobile Radio (TMR) and digital Push-to-Talk (PTT) radios.
- Develop and modernize software components to transition capabilities to COTS/GOTS handheld and mobile platform devices.
- Design and develop application frameworks and software applications using primarily C++ and Python, in LINUX/UNIX environment.
- Participate in and/or lead all phases of development including requirements definition, software design, development, source code configuration, managing and tracking source code changes, defining and managing software system configurations and deployment support.
- Develop scripts to support coding, unit testing, configuration, remote installation and maintenance needs in Shell (C, Bash).
- Develop and execute unit testing using CppUnit and Junit, develop automated build and software test scripts and applications.
- Define and execute end-to-end software system tests. Coordinate application updates/installation with appropriate security, database and system administrators and remote site POCs.
- Plan and conduct development, integration and unit testing; support end-to-end system testing.
- Monitor production system to verify operations and modify as needed following change management procedures.
- Develop and maintain project related documentation to include development of software design diagrams in standard design notation such as UML, and complete software documentation.
- Participate in and/or lead design and code reviews.
- Document, analyze and resolve software discrepancies.
- Define and configure development environment.
- Perform installation and maintenance of fielded systems and support backup services to deployed systems and data.
- Productize software and hardware components to support rapid build and deployments to support worldwide customers.
- Provide support in the modernization of these and related projects.
- Provide technical support to customers and coordinate with cross organizational stakeholders.
- TS/SCI with Full Scope Polygraph
- Candidate MUST qualify for NSYS and compartmented data access. CCA, NFNA, or current polygraph in adjudication status (even if previous polys were approved) may disqualify candidate.
Education and Experience Required:
- Bachelor's degree in Computer Science or related discipline. Four (4) years of additional software engineering experience on projects with similar software processes may be substituted for a bachelor's degree.
- Knowledge of CM tools
- Ability to do scripting
- Able to do web services implementation
- Ability to use CASE tools
- 5+ years of experience working with LINUX
- 5+ years of experience with C/C++ and Python
- Experience working with software defined radios, especially GNU radio, from a software development, integration or deployment perspective
- Solid understanding of the basics of signals processing
- Experience working with UHF/VHF or similar signals, knowledge of frequency hopping
- Experience with mobile software development for x86 architecture
- Experience with two or more of the following development/configuration tools: Git, ANT, Jenkins, netBeans, Eclipse, and Subversion
- Experience with using Red Hat Package Manager modules
- Experience building RPMs
- Experience documenting the work being performed and making contributions to other document sets as needed
- Experience working with mobile platform technologies
- Experience in developing system and software architecture diagrams
- Experience working in an AGILE development environment