Software Engineer
Amentum · Huntsville, AL · 2 wk ago
On-siteEngineeringFull-time
About the role
The Software Engineer will support the Short-term Prediction Research and Transition (SPoRT) project at NASA’s Marshall Space Flight Center within the Science and Technology Office. The SPoRT project is a NASA leader in translating NASA Earth Science research to real-time decision making through a proven Research-to-Operations (R2O) Paradigm.
Responsibilities
- Infrastructure Automation: Design and implement "Infrastructure as Code" (IaC) solutions (using tools such as Ansible, Terraform, or CloudFormation) to manage on-premises and cloud-based computing resources, ensuring consistency and reproducibility across environments.
- CI/CD Pipeline Management: Develop and maintain automated build, test, and deployment pipelines (e.g., GitLab CI, Jenkins, GitHub Actions) to streamline the delivery of scientific software and ensure rigorous code quality standards.
- Cloud Operations & Architecture: Architect and manage scalable resources within NASA’s Science Cloud environment (AWS/Azure), utilizing services like EC2, S3, Lambda, and container orchestration to support high-throughput data processing.
- Containerization: Containerize scientific applications and data processing workflows using Docker and Singularity, enabling the portability of research code between local workstations and high-performance cloud clusters.
- Web Application Support: Deploy and maintain web-based applications that convey scientific results to the public and stakeholders, ensuring high availability and responsiveness.
- Operational Reliability & Monitoring: Implement robust monitoring and alerting systems (e.g., Splunk, Nagios, Prometheus) to ensure the continuous operation of real-time data feeds and identify performance bottlenecks.
- Security Compliance (DevSecOps): Collaborate with security teams to integrate automated security scanning (e.g., SonarQube, Nessus) into the development lifecycle, ensuring strict adherence to NASA IT security standards and FISMA compliance.
- Documentation: Write comprehensive documentation for software developed, system architecture, and operational procedures to support knowledge transfer and system maintainability.
- Communication: Assist with leading discussions with both customers and end-users. These meetings include discussions on technical status updates, project management and planning, engaging with end-users, and collaborative efforts with other NASA teams and projects.
Qualifications
- Education: Degree in Computer Science, Software Engineering, Information Systems, Meteorology, Atmospheric Science, Remote Sensing or a related technical field from an ABET-accredited university. Bachelor’s degree with 5+ years’ experience (including intern/co-op experience). Master’s degree with a minimum of 3 years’ experience.
- Required Technical Experience: Unix/Linux Administration: Strong command of the Linux command line, shell scripting (Bash), and system configuration is essential for managing the research environment. Python Proficiency: Extensive experience with Python for scripting, automation, and data processing; familiarity with the scientific python stack (Pandas, NumPy, Dask). Version Control: Deep understanding of Git/GitHub workflows, including branching strategies, merge requests, and collaborative code reviews. Dynamic Collaboration: Ability to work in a collaborative, dynamic environment, interacting effectively with scientists and engineers.
- Additional Desired Skills: Cloud Platforms: Hands-on experience with Amazon Web Services (AWS) or Microsoft Azure, particularly in a scientific or data-intensive context. Infrastructure as Code: Proficiency with Ansible, Terraform, or Puppet for automated provisioning. Database Management: Experience with MongoDB, PostgreSQL, or cloud-native databases. Web Programming: Skilled in HTML5, CSS3, JavaScript, jQuery, Bootstrap, AJAX, and responsive design for dashboard creation. Security Principles: Knowledge of web security principles and DevSecOps best practices. Scientific Domain Knowledge: Experience with Atmospheric Science, Physical Science data, or Machine Learning workflows is a distinct advantage.