Analyze user requirements and translate them into detailed software design and performance specifications
Design, develop, test, deploy, document, maintain, and enhance complex software systems
Develop and implement algorithms to meet strict performance, timing, and resource constraints
Modify existing software to improve performance or adapt to new environments
Integrate software into new or existing systems and ensure operational compliance
Develop relational and non-relational database applications
Support development of event-driven and data-driven analytics systems
Develop cloud-based solutions and modern distributed applications
Perform Unix/Linux development and shell scripting
Develop and enhance automation tools supporting HPC system infrastructure
Automate manual processes using Bash and Python
Utilize automation frameworks such as Ansible for deployment orchestration
Implement CI/CD pipelines using tools such as GitLab CI and Jenkins
Utilize Git for source code management
Support containerized environments (Docker and related technologies)
Troubleshoot and debug issues in operational production systems
Requirements
Active TS/SCI w/ Polygraph
Master’s degree in Computer Science or related field + 5 years of relevant experience or Bachelor’s degree in Computer Science or related field + 7 years of relevant experience
9 years of relevant Software Engineering experience
Strong Linux CLI experience and Unix-based development
Proficiency in Bash scripting
Recent experience developing software in Python
Experience with Ansible or similar automation frameworks
Experience troubleshooting and debugging in operational systems
Experience with CI/CD principles and tools (GitLab CI, Jenkins)
Experience with Git source control
Experience developing in languages such as C, C++, Python, Ruby, Perl, or JavaScript
Experience working in Agile development environments