Senior Forensics Scripting Software Engineer (Python, Rust, Ruby)
- Seeking a motivated developer to join the Endpoint and Forensics (E&F) team. This position provides opportunity for the developer to work on a variety of tasking. The candidate will design and develop tools to perform automated data identification and extraction from seized collateral.
- Identify techniques for technology discovery in provided datasets.
- Design and develop tools and capabilities highlighting the presence and use of the discovered technologies.
- Perform research on defined technologies and/or target specific topics.
- Respond to high-priority customer requests for information (RFI).
- 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:
- Experience with Perl, or experience with a dynamic/multi-paradigm language (Rust, Python, Ruby, Groovy, Scala) and the willingness to learn Perl
- Experience working with a relational databases. E.g. MySQL, PostgreSQL, Oracle, SQLLite
- Full understanding of intermediate programming concepts and familiar with advanced programming concepts
- Understanding of mobile device operating systems (Android and iOS) is desirable
- Understanding of Windows (the registry, NTFS, event logs, etc.) is desirable
- Experience developing web applications built around the MVC pattern
- Work in an Agile team environment
Minimum Experience Required:
- At least twelve (12) 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 4 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. A master’s degree in computer science, engineering, mathematics or a related discipline may be substituted for an additional 2 years of general experience.
- TS/SCI with Polygraph Required