Junior Software Engineer
Leidos is looking for a Software Engineer to join a high performing agile team using the Scaled Agile Framework (SAFe) methodology to support a nationally significant and fast-paced cryptographic key management program. Program execution follows DEVOPS best practices and employs robust development, test and production environments. Additionally, the program is using Behavioral Driven Development (BDD) and test automation tools alongside a full suite of team collaboration tools. Leidos is the prime contractor providing system engineering, development, test, integration and operational support. This new program is focused on injecting new technology and adding advanced capabilities over the coming three years while continuing to support an on-going mission and operational system.
The Software Engineer 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.
The Software Engineer will be responsible for software development activities both individually and as a member of an agile team. The software engineer will actively participate in program increment planning and related team activities. The individual 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 individual will provide software process management and control throughout the coding portion of the software development process. Additionally, the individual will promote code reuse and cross-program collaboration while reducing maintenance costs by creating common functions and shared actions for developers and testers. The individual will engineer, author, tune and document automation scripts in a development environment and deploy to the test/production bench.
- Bachelor's Degree in Computer Science or a related discipline and at least 2 years of related experience, or a Master’s Degree. Additional experience may be substituted for a Degree.
- Must have an active TS/SCI with Polygraph to be considered for this role.
- Must have demonstrated experience with Java.
- Experience or familiarity with multiple the following: Java/JEE, Python, C/C++, SQL, SOAP, WSDL, WADL, PERL, PowerShell, VBS, Eclipse, Postgres, Oracle, Jenkins on a Windows platforms.
- 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, 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
The Leidos pay range for this job level is a general guideline only and not a guarantee of compensation or salary. Additional factors considered in extending an offer include (but are not limited to) responsibilities of the job, education, experience, knowledge, skills, and abilities, as well as internal equity, alignment with market data, applicable bargaining agreement (if any), or other law.