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.
- Design and develop new software
- Maintain existing software and resolves 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
Candidate must be willing to be processed for a TS/SCI clearance
- Six (6) or more years of software development experience required
- [A Master's degree in a related discipline may substitute for two (2) years of experience. A PhD may substitute for four (4) years of experience.]
- Bachelor's degree in Software Engineering, Computer Science or a related discipline is required
- [Eight (8) years of experience (for a total of fourteen (14) or more years) may be substituted for a degree.]
Required skills include:
- Experience leading a software development team (includes leading modules as part of a larger project)
- Experience developing system performance, availability, scalability, manageability and security requirements for mid- to large-scale programs
- Agile development methodology experience 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 of more of the following: SQL, Oracle, MySQL, JBDC, etc.
- Demonstrated experience and/or familiarity with one of 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.)
- DoD 8570.1-M Compliance at IAT Level I.