Engineer – Software
All levels of Software Engineer will have the skills listed below. Each level may have additional education, skill and/or experience requirements.
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 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.
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 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.)
Certifications:
- DoD 8570.1-M Compliance at IAT Level I (e.g., Certified Information Systems Security Professional (CISSP)) certification highly desired
ESW01: Software Engineer – I
- No demonstrated experience required.
- Bachelor’s degree in Software Engineering, Computer Science or a related discipline is required.
[Four (4) years of experience may be substituted for a degree.]
ESW02: Software Engineer – II
- Two (2) or more years of software development experience required.
[A Master’s degree in a related discipline may substitute for two (2) years of experience]
- Bachelor’s degree in Software Engineering, Computer Science or a related discipline is required.
[Four (4) years of experience (for a total of six (6) or more years) may be substituted for a degree.]
ESW03: Software Engineer – Senior I
- Four (4) 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.
[Six (6) years of experience (for a total of ten (10) or more years) may be substituted for a degree.]
ESW04: Software Engineer – Senior II
- 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.]
Additional Requirements:
- 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.
ESW05: Software Engineer – Principal I
- Eight (8) 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.
[Ten (10) years of experience (for a total of eighteen (18) or more years) may be substituted for a degree.]
Additional Requirements:
- 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.
- Experience with cloud computing, multimedia storage, knowledge databases and data-mining analytics desired.
- Agile development methodology experience required.
Certifications:
- Agile software development methodology certification (e.g. SCRUM Master) highly desired.
ESW06: Software Engineer – Principal II
- Ten (10) 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.
Additional Requirements:
- Experience leading multiple software development teams. Experience developing system performance, availability, scalability, manageability and security requirements for mid- to large-scale programs.
- Experience with cloud computing, multimedia storage, knowledge databases and data-mining analytics
- Agile development methodology experience required.
Certifications:
- Agile software development methodology certification (e.g. SCRUM Master) highly desired.
ESW07: Software Engineer – Fellow I
- Twelve (12) 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.
[Twelve (12) years of experience (for a total of twenty-two (22) or more years) may be substituted for a degree.] - Advanced degree (Master’s) is desired.
Additional Responsibilities and/or skills:
- Develop and provide input to system architecture design.
- Act as subject matter expert (SME) to project.
Additional Requirements:
- Experience leading multiple software development teams.
Certifications:
- Agile software development methodology certification (e.g. SCRUM Master) highly desired .
ESW08: Software Engineer – Fellow II
- Twenty (20) or more years of related experience required.
[A PhD may substitute for four (4) years of experience.]
- Master’s degree in Engineering, Science, Mathematics, or Computer Science is required.
Additional Responsibilities and/or skills:
- Develop and provide input to system architecture design.
- Act as subject matter expert (SME) to project.
Additional Requirements:
- Experience leading multiple software development teams.
- Agile development methodology experience required.
Certifications:
- Agile software development methodology certification (e.g. SCRUM Master) desired.
ESW15: Software Engineer – Manager I
- Eight (8) or more years of related 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.
Additional Responsibilities and/or skills:
- Provide technical direction for software development team, including task assignments, system architecture design, and oversight of software development.
- Responsible for staffing on team, including staffing projections, filling positions, performance reviews, etc.
- Establish, implement and maintain development schedule.
- Interface directly with customer.
- Familiarity with architecture standards (e.g, DoDAF, FEAF, etc.) and responsible for implementing required artifacts.
Additional Requirements:
- Agile development methodology experience required.
Certifications:
- Agile software development methodology certification (e.g. SCRUM Master) desired.
ESW16: Software Engineer – Manager II
- Ten (10) or more years of related 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.
Additional Responsibilities and/or skills:
- Provide technical direction for software development team, including task assignments, system architecture design, and oversight of software development.
- Responsible for staffing on team, including staffing projections, filling positions, performance reviews, etc.
- Establish, implement and maintain development schedule.
- Interface directly with customer.
- Familiarity with architecture standards (e.g, DoDAF, FEAF, etc.) and responsible for implementing required artifacts.
Additional Requirements:
- Two (2) or more years of experience managing software development teams.
- Agile development methodology experience required.
Certifications:
- Agile software development methodology certification (e.g. SCRUM Master) desired.
ESW17: Software Engineer – Senior Manager
- Twelve (12) or more years of related 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.
Additional Responsibilities and/or skills:
- Prepare critical path analysis, integrated master schedule and technical status reports for each work project.
- Prepare LOE estimates for new work.
- Establish common processes across tasks, including configuration management (CM), risk management, quality assurance (QA), etc.
- Perform requirements decomposition to system-level specifications
- Interface directly with customer.
Additional Requirements:
- Project management experience required.
- Experience leading multiple teams simultaneously required.
- Experience with EVMS (earned value management system), compliant with ANSI/EIA Standard 748-B required.
- Agile development methodology experience required.
Certifications:
- Agile software development methodology certification (e.g. SCRUM Master) required.
- Project Management Professional (PMP) or similar certification desired.
ESW18: Software Engineer – Director
- Fourteen (14) or more years of related 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.
Additional Responsibilities and/or skills:
- Act as customer liaison.
- Participate with team leadership to develop and establish program policies.
- Plan, direct and control project operations, assuring overall budget, schedule and performance standards are realistically set and attained.
- Serve as principal spokesperson for the program to internal and external contacts.
- Conduct briefing and technical meeting for management and customer representatives.
Additional Requirements:
- Project management experience required.
- Experience leading multiple teams simultaneously required.
- Experience with EVMS (earned value management system), compliant with ANSI/EIA Standard 748-B required.
- Agile development methodology experience required.
Certifications:
- Project Management Professional (PMP) or similar certification desired.