REQUIRED
- TO BE CONSIDERED FOR THIS POSITION YOU MUST HAVE AN ACTIVE TS/SCI W/ FULL SCOPE POLYGRAPH SECURITY CLEARANCE (U.S. CITIZENSHIP REQUIRED)
In addition to the standard SWE3 labor category requirements, the ideal candidate would have a foundation in OO programming, preferably Python and/or GoLang (however, other languages such as Java, C++, etc. would be acceptable as those have transferable skills to the work that needs to be performed). Scripting in BASH and/or Ansible is a plus. Possess a basic knowledge of application containerization, networking, Linux system administration, and certificate management (PKI), and Kubernetes. A DevOps System Engineer should possess knowledge about System Design, System Administration, Requirements Gathering, workflow & process planning, and Technical Writing.
Twenty (20) years of experience as a SWE in programs and contracts of similar scope, type, and complexity is required. A Bachelor’s degree in Computer Science or a related discipline from an accredited college or university is required. Four (4) years of additional SWE experience on projects with similar software processes may be substituted for a bachelor’s degree.
Highly Desired
Cloud Experience: Shall have demonstrated work experience with distributed scalable Big Data Store (NoSQL) such as Hbase, CloudBase/Accumulo, Big Table, etc.; Shall have demonstrated work experience with the Map Reduce programming model and technologies such as Hadoop, Hive, Pig, etc.; Shall have demonstrated work experience with the Hadoop Distributed File System (HDFS); Shall have demonstrated work experience with Serialization such as JSON and/or BSON.
Qualifications
- Analyze user requirements to derive software design and performance requirements.
- Design and code new software or modify existing software to add new features.
- Debug existing software and correct defects.
- Integrate existing software into new or modified systems or operating environments.
- Develop simple data queries for existing or proposed databases or data repositories.
- Provide recommendations for improving documentation and software development process standards.
- Develop or implement algorithms to meet or exceed system performance and functional standards.
- Assist with developing and executing test procedures for software components.
- Write or review software and system documentation.
- Develop software solutions by analyzing system performance standards, confer with users or system engineers; analyze systems flow, data usage and work processes; and investigate problem areas.
- Serve as team lead at the level appropriate to the software development process being used on any particular project.
- Modify existing software to correct errors, to adapt to new hardware, or to improve its performance.
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
- Design or implement complex database or data repository interfaces/queries.
- Oversee one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project.
- Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints; Perform quality control on team products.
- Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements, and interfaces.
- Coordinate software system installation and monitor equipment functioning to ensure operational specifications are met.
- Implement recommendations for improving documentation and software development process standards.
- Serve as the technical lead of multiple software development teams.
- Select the software development process in coordination with the customer and system engineering.
- Recommend new technologies and processes for complex software projects.
- Ensure quality control of all developed and modified software.
- Delegate programming and testing responsibilities to one or more teams and monitor their performance.