Engineer – Software
All levels of Software Engineer will have the skills listed below. Each level may have additional education, skill and/or experience requirements.
Experience may determine the varying level of position attainable with this position from 1-15 years of experience.
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.
Software Engineering tasks include:
Design and develop new software.
Maintain existing software and resolve software problem reports.
Modify existing software to add new features.
Perform individually and as part of a team.
Utilize software development and software design methodologies appropriate to the development environment and in compliance with customer and industry lifecycle development approaches.
Develop, execute and document software testing, including test cases.
Perform software requirement analysis, derivation, and allocation.
Provide input to the software components of system design to include hardware/software trade-offs, software reuse, application security, and use of Commercial Off-the-shelf (COTS)/Government Off-the-shelf (GOTS) in place of new development.
Provide input to hardware (COTS/GOTS/capacity/etc.) recommendations.
Prepare software documentation, including user guides.
Required skills include:
Active Top Secret/Sensitive Compartmented Information (TS/SCI) security clearance required.
U.S. Citizenship required.
Demonstrated experience and/or familiarity with one of more of the following: Java, Perl, Ruby, Python, HTML, C, C++, .NET, ColdFusion, Adobe, etc.
Demonstrated experience and/or familiarity with one or more of the following: SQL, Oracle, MySQL, JBDC, etc.
Demonstrated experience and/or familiarity with one or more of the following: Windows, Linux, Apache, TomCat, Ozone Widgets, Spring, Struts, JUnit, Hibernate, etc.
Desired skills include:
Experience with Agile development methodology.
Experience with software configuration management and control tools (e.g., CVS, Eclipse, ClearCase, etc.)
Experience with automated testing tools (e.g., RSpec, Cucumber, etc.)
Certifications:
DoD 8570.1-M Compliance at IAT Level I (e.g., Certified Information Systems Security Professional (CISSP)) certification highly desired.