Tools Integration Software Developer

Entry or Mid to Senior Level Position

District of Columbia, Maryland, Virginia
TS/SCI w/FSP

Job Description
The Tools Integration Software Engineer will perform software development activities as a member of an agile development team. The development includes the full range of turning agile stories into implementable concepts, through the development, testing, and deployment of the new capabilities in this complex system. The Tools Integration Software Engineer will be responsible for creating COTS product tool workflows for the development and program management teams in setting up, tracking, and reporting on work progress across the program. This development effort enables all other development and management across the program. Following the TDD pattern our developers are responsible for implementing robust testing leveraging DEVOPS automation and use of test automation commercial tools, even applied to this tool integration effort. The selected individual will use COTS tool integration, script development, data normalization, data mapping, workflow development, and user interface (UI) development and a diverse array of structured, procedural, scripting, and declarative languages including Java, Python, Visual Basic, Visual Basic for Applications (VBA), XML, and many others. The ideal candidate will have experience doing tool integration between COTS products and have an understanding of creating business process connections to aid in software development, project, and program management.

Primary Roles and Responsibilities
The Tools Integration Software Engineer will be responsible for software development activities both individually as a member of an agile team. The software engineer will actively participate in program increment planning and related team activities. He/she will work with Systems Engineers to develop requirements for Tool Integration and analyze and study complex business and process requirements, use design software tools, create and manage data flow diagrams, and utilize other accepted design techniques with the use of Computer-Aided Software Engineering (CASE) tools, and will use sound software engineering principles to ensure that developed code is modifiable, efficient, reliable, understandable, fault-tolerant, and reusable. The selected individual will provide software process management and control throughout the coding portion of the software development process and will promote code reuse and cross-program collaboration while reducing maintenance costs by creating common functions and shared actions for developers and testers. The selected individual will engineer, author, tune, and document automation scripts in a development environment and deploy them to the test/production bench.

Basic Qualifications

  • TS/SCI with Favorable Polygraph
  • Specific experience with one or more of the following: Visual Basic, Java/JEE, Python, C/C++, SQL, or Groovy
  • Experience with User Interface development and databases and structures
  • Experience working with XHTML, HTML, XML, XSLT
  • Experience developing on Windows, and/or Linux operating systems
  • Demonstrable experience doing COTS Tool Integration requiring custom code or scripting with several of the following: Visual Basic, Visual Basic for Applications, C#, Java, Python, PERL, PowerShell, Groovy, VBS
  • Must have a strong understanding of sound software development principles and practices
  • Must be able to plan and prioritize personal tasking and be able to communicate effectively verbally and in writing
  • Must be an independent thinker, capable of performing high-quality work, both independently and with a team, in a fast-moving environment

 

Preferred Qualifications

  • Experience doing COTS Tool integration with Visual Basic, Visual Basic for Applications, or Java
  • Experience with high-level requirements management including requirements decomposition, trade-off analysis, interface control, and testing and continuous integration
  • Experience with project and program management processes for software development (e.g. Agile Scrum, Scaled Agile, Earned Value)
  • At least 1 year of experience in software development on Agile teams using Agile Developer practices such as Pair Programming, TDD, Refactoring, and ATDD
  • Experience with FITNesse, Mockito, Cucumber, Unified Functional Tester (UFT), Selenium
  • Experience with Behavior Driven Development (BDD) or Test-Driven Development (TDD)
  • Experience with DevOps and Continuous Integration tooling
  • Experience with the Scaled Agile Framework (SAFe) methodology, SAFe Agilest Certification, or past experience as a member of an agile team

Apply Now

Please complete the form below to apply for this position.

Share on facebook
Share on twitter
Share on linkedin