Title of Position: Software Developer Level 2
Description of Position:
- Lead a team to design, develop, and test application software to fulfill unique requirements on Windows, Unix, or other specified platforms,
- Build applications using a specified programming language per the Government,
- Build graphical user interfaces (GUis) for custom applications, and
- Respond to evolving requirements in an agile environment.
A successful candidate should be able to develop object-oriented programs utilizing software lifecycle management techniques (e.g., Scrum, Agile) as well as utilizing continuous integration systems and configuration management programs (e.g., jenkins, bamboo, jira, confluence). The primary responsibility for a candidate will be to refine and understand existing tools, create new tools, and generate tests to ensure tools work across multiple environments.
The primary development languages will be C, C++, and Python scripting.
Candidates will be responsible for owning the development and maintenance of tools, be able to clearly document and articulate to customers.
Experienced candidates are expected to be subject matter experts in a particular technology area, and be able to mentor, train, and guide junior engineers.
Education and Experience Required:
Experience developing with object-oriented languages
Experience implementing software life-cycle management
Experience leading projects for the design, development, and testing of software on various platforms
Experience developing continuous integration and build environments for CNO tools
- Minimum six (6) years experience programming with object-oriented programming languages,
- Minimum four (4) years experience developing Windows applications using Visual Studio or .NET environments OR minimum four (4) years experience developing UNIX applications using make files or comparable build environments,
- Experience developing complex programs using, C, C#, C++, Java, or other comparable languages,
- Minimum two (2) leading projects that develops complex software, ensuring a collaborative environment, and configuration management, and
- Experience implementing software life cycle management (requirements, design, develop, test, validate, deploy).
- Experience developing with object-oriented languages
- Experience implementing software lifecycle management
- Experience building GUIs
- Experience leading teams to design, develop, and test software on various platforms