Mid-Level Software Engineer/Developer (C++, Java, JUnit, UI)
- Provide software development support to the Endpoint and Forensics Mission and Tradecraft Division. The developer will be part of a small team and shall possess the necessary skills required to implement an end-to-end solution supporting the development of a forensics tool capable of the rapid triage of devices. Work in the small team environment to assist in development and testing requirements. Work with customers to refine requirements in development of software as well as improve existing ones.
- Individual(s) assigned to this category shall have an understanding of how UIS code works and how analysts use UIS. Knowledge of XML structure, XML parsers, SQL and Perl is required. Development skills in Java threading/thread pooling, RMI, character set encoding, swing, JDBC, JMS, J2EE, Enterprise Java Beans, Web Logic, Servlets, and JSP are required.
Technical Skills Required:
- Strong object-oriented C++/Java development skills to include UI development
- Experience with the following software frameworks: CppUnit, JUnit, QT, JavaFX
- Experience with Git/GitHub source control tool preferred
- Full lifecycle software development experience in a Linux environment, to include shell scripting
- Experience with configuration management, software testing and containerization (Docker, Kubernetes)
- Experience with use of CNO/Forensics data preferred
- Knowledge of SIGINT systems
- Work in an Agile team environment
Minimum Experience Required:
- At least 8 years of general experience in computer science, computer engineering, mathematics, or a related discipline
- At least 5 years of experience in software-intensive projects and programs for government or industry customers.
- At least 3 years of the experience must have been as a software engineer supporting software architecture development, requirement analysis, process execution and evaluation, selection and evaluation of COTS/GOTS tools, and integration (with both new and existing systems).
- A bachelor’s degree in computer science, engineering, mathematics or a related discipline may be substituted for 4 years of general experience.
- TS/SCI with Polygraph Required