Software Engineer

Entry or Mid to Senior Level Position

District of Columbia, Maryland, Virginia

Job Description
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. Test-Driven Development (TDD) 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 ongoing operational system.

Job Summary
The selected individual 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. Following the TDD pattern, our developers are responsible for implementing robust testing leveraging DEVOPS automation and, where appropriate, use of test automation commercial tools. There is a range of opportunities for server-side business logic implementation as well as a 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.

Primary Roles and Responsibilities
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, and 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 them to the test/production bench.

Required Qualifications
• TS/SCI with Full Scope Polygraph
• Bachelor’s 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, and Jenkins on a windows platform.
• Experience with User Interface development, knowledge of databases and structures, and/or experience working with XHTML, HTML, XML, and 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.

Preferred Qualifications
• 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, testing, and continuous integration.
• 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).
• 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.

Apply Now

Please complete the form below to apply for this position.