If you want to be part of a dynamic Team delivering and engaging in innovative training solutions, this is the place for you! We are currently seeking new team members to join the Capabilities DevOps team in Hanover, MD. Team members will be part of a collaborative, multidisciplinary team delivering highly sophisticated, technical, hands-on training solutions to meet the mission and time-critical needs of our customers using custom solutions and modern software development frameworks. The team is focused on the development of tailored, high quality, timely software solutions for use by instructional staff members and students. The team implements all parts of the software development process; from configuring and managing the deployment environment to writing, testing, and deploying the code. If you are a software engineer or have web application development experience and are a self-starter and enterprising person looking to expand your knowledge in all parts of application development, then this is the position for you.
Responsibilities:
The Capabilities DevOps team's responsibilities include capturing and evaluating requirements, designing services, pipelines, and user interfaces/experiences (UI/UX) that are elegant and forward-thinking, selecting and implementing technologies that are the best fit for the application, managing and configuring the application code, documenting, testing, and maintaining the application during its deployed lifespan. This will include many of the following actions and more as requirements demand.
Designing, developing, troubleshooting, and analyzing software programs for computer-based training.
Research, document, and test security solutions for emerging technologies, security methodologies, and cyber security concepts.
Support the development of comprehensive, tactically relevant operational training through the design, development, and implementation of training scenarios required to prepare students for operations.
Work with a Team of multi-disciplinary professionals to create, evaluate, and apply necessary updates based on recommendations for course content and training material updates.
Advancing the maturity of, and troubleshooting issues with, existing class management tools to support and ensure delivery and grading of student activities.
Creating and maintaining virtualized systems used to facilitate and simulate real-world scenarios that create an immersive cyber-environment for students.
Performing system modeling, simulation, and analysis.
Designing and developing utility programs and operations systems and conducting detailed analysis of system specifications.
Providing input for documentation of new or existing programs, associated documentation, block diagrams and logic flow charts applied to engineering problems.
Verifying accuracy and completeness of programs by preparing sample data, conducting program tests, analyzing test results, and debugging programs errors.
#divergent
The Capabilities DevOps team positions require fully cleared individuals with an extensive range of experience and abilities to develop applications for cyber security training. As a team we implement and support all stages of the Software Development Lifecycle and recognize the benefit of having team members that specialize in specific stages of that cycle.
Clearance Required:
Minimum Education Level 2:
Minimum Education Level 3:
Minimum Years of Experience:
Minimum (5) years of applicable software development experience is required.
Experience developing using one or more of the following languages: Ruby, Ruby on Rails, Python, or C++.
Requires demonstrated proficiency in web UI interface design using a variety of languages such as HTML, CSS, AJAX, JSON/XML JavaScript/TypeScript and JQuery or similar.
Experience using SQL/NoSQL and relational databases (MySQL/MongoDB preferred) required.
A working knowledge of both Windows and Linux platform is required.
Demonstrated experience with agile methodologies.
All team members regardless of their specialization will be expected to:
demonstrate the ability to parse and understand existing code bases, contributing to the continued development of class management tools
perform trend analysis of student activities and identify potential improvements to course delivery systems and interfaces
develop software solutions using languages such as Python, Shell scripting or Node.js
develop and deploy applications, services, and systems within virtualized environments such as vSphere and Docker
create and manage applications using industry standard package managers (apt, yum, npm, nuget, etc...)
show proficiency in using source code management systems, with a focus on Git
apply valid software development pipelines to develop, test, document and deploy projects
use and receive tasking through project management systems such as Jira
provide comprehensive documentation and support for various levels of customers
be a self-motivated individual that can think creatively to stay ahead of issues that could prevent the successful delivery of course material and activities while supporting the team as a whole
learn about the other specializations to better work with and support other development efforts
provide recommendations for technical solutions to a wide range of difficult problems
lead development activities, displaying the ability to guide and manage software engineering projectsmentor junior team members
As a Full-Stack developer you should fit the needs of both the UI/UX and Backend Service specialization at a minimum. While working on the team, there will be opportunities to expand into a DevOps specialist.
UI/UX specialist: Focus on creating the student and instructor facing interfaces and need the following skills at a minimum:
Develop aesthetically pleasing and user-friendly front ends using frameworks like react, angular, Vite and svelte
Develop and implement test beds and use test suites such as JUnit or PyTest for robust testing practices
Interface with API endpoints, databases, and other dataflow solutions
Perform trend analysis of student activities and identify potential improvements to course delivery systems and interfaces.
Backend Service specialist: Focus on creating dataflow components to collect, parse, and provide the information to other services or for exfiltration and deliverables. You will need the following skills at a minimum:
Develop services, APIs and dataflow solutions using various languages and frameworks such as Python, JavaScript/TypeScript, Node.JS, Express, PHP, Ruby on Rails, and Go.
Design and implement database schemas across multiple systems with and without replication using SQL and NoSQL solutions
Develop scripts, scrapers, and parsers in support of automated grading and course delivery
Develop and implement test beds and use test suites such as JUnit or PyTest for robust testing practices
Administer, configure, and maintain common Unix/Linux and Windows Server variants
Create and configure virtual hosts and networks using VMware in support of developing real-world scenarios
Preferred:
Experience with VMWare, VSphere, and VCenter virtualization tool.
Awareness of data center operations and network-based server systems.
Ability to solve problems quickly and completely; analytical problem-solving skills; adept at root-cause analysis and mitigation.
Effective communication, writing, documentation, and requirements gatherings skills are needed to be effective in this role for working with other members of the Team and with the Customer to meet the requirements of the program.
Proven ability to work independently while being conscious of how your work interacts with that of others.
Possess drive, enthusiasm, and attention to detail.