The selected candidate will join a high performing agile team that uses the Scaled Agile Framework (SAFe) methodology to support a nationally significant and fast-paced program. Program execution follows DEVOPS best practices and employs robust development, test and production environments. Behavior Driven Development (BDD) and test automation tools are utilized alongside a full suite of team collaboration tools. The program is focused on injecting new technology and adding advanced capabilities in support of an on-going operational system.
The selected individual will perform software development activities as a member of an agile development team. Development includes the full range of turning agile stories into implementable concepts, through development, testing and deployment of the new capabilities in this complex system. Following the BDD pattern our developers are responsible for implementing robust testing leveraging DEVOPS automation and, where appropriate, use of test automation commercial tools. There are a range of opportunities for server side business logic implementation as well as client web application and user interface (UI) development. Java, Python, embedded C/C++, Java cryptographic framework, XML, web UI and special purpose device programming opportunities are available.
Responsibilities include completing software development tasks both individually and as a member of an agile team. The selected individual will actively participate in program increment planning and related team activities. He/she will analyze and study complex system requirements, use design software tools, provide support using formal specifications, data flow diagrams, and 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 candidate 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 by creating common functions and shared actions for developers and testers. He/she will engineer, author, tune and document automation scripts in a development environment and deploy to the test/production bench.
- CI Polygraph
- Degree in Computer Science or a related discipline. Relevant work experience may be substituted for a Degree.
- Demonstrated experience with Java is required.
- Experience or familiarity with multiple of the following: Java/JEE, Python, C/C++ , SQL, SOAP, WSDL, WADL, PERL, PowerShell, VBS, Eclipse, Postgres, Oracle, Jenkins on a windows platform.
- Experience with User Interface development, knowledge of databases and structures, and/or experience working with XHTML, HTML, XML, XSLT.
- Experience developing on Windows, and/or Linux operating systems.
- 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.
- Experience with the following: JEE, SQL, application servers (Tomcat, WebLogic, JBoss), scripting.
- Experience with high-level requirements management including requirements decomposition, secure systems engineering and development, trade-off analysis, interface control, and testing and continuous integration.
- Experience in software development on Agile teams using Agile Developer practices such as Pair Programming, BDD, Refactoring, and ATDD.
- Experience with FITNesse, Mockito, Cucumber, Unified Functional Tester (UFT), Selenium.
- Experience with Behavior Driven Development (BDD) or Test Driven Development (TDD).
- Secure Software development (i.e. Layer 7 Policy).
- Experience with the Scaled Agile Framework (SAFe) methodology, SAFe Agilest Certification, or past experience as a member of an agile team