The Software Engineer develops, maintains, and enhances complex and diverse software systems (e.g., processing-intensive analytics, novel algorithm development, manipulation of extremely large data sets, real-time systems, and business management information systems) based upon documented requirements. Works individually or as part of a team. Reviews and tests software components for adherence to the design requirements and documents test results. Resolves software problem reports. Utilizes software development and software design methodologies appropriate to the development environment.
TS/SCI with Polygraph is required.
Minimum Professional Experience
Desired Professional Skills
- Shall have seven (7) years experience in software development/engineering, including requirements analysis, software development, installation, integration, evaluation, enhancement, maintenance, testing, and problem diagnosis/resolution.
- Shall have two (2) years experience in the SIGINT environment.
- Knowledge and experience with internals of HDFS, HADOOP, and/or Google’s BIG TABLE.
- Experience with Hadoop clusters with 1000 or more cores.
- Six (6) years of experience developing software using the Java programming language. At least four (4) years of this experience must have been obtained in the last seven (7) years. At least four (4) years of either C or C++ Windows/Linux programming experience.
- Familiar with the software development process described in the J-STD-016 and IEEE/EIA 12207, “Information technology-Software life cycle processes” and possess at least two (2) years of experience developing software in accordance with these standards.
- Able to communicate directions and provide guidance to junior programmers/analysists.
- Four (4) years demonstrated experience developing software for one of the following: Windows, UNIX, or Linux (Redhat versions 3-5) OS.
- Experience on at least one Object Oriented System.
- Extensive experience in planning and accomplishing goals and complicated tasks and providing consultation on complex projects as top-level contributor or specialist.
- Firm grasp of modern computer programming with a minimum of six (6) years experience in programming and development of application software for complex systems and software testing.
- Experience “wrapping” legacy systems or components of Web Services within an SOA framework.
- Experience developing solutions integrating and extending COTS products.
- Experience in evaluating project needs, determining tasks and durations and allocating resources.
- Demonstrated technical writing skills.
- Knowledge and experience with developing distributed storage routing and querying algorithms.
- A Bachelor’s Degree in Computer Science which will be considered equivalent to two (2) years experience. A Master’s Degree in a Technical Field will be considered equivalent to four (4) years experience.
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed above are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
We are an Equal Opportunity Employer.