Early Career Computer Scientist
Sandia National Laboratories
About the Role
Seeking a computer scientist interested in applying expertise to advance the state of the art in managing high consequence systems for national security missions.
Key Responsibilities
- Apply knowledge of algorithms and the state of the art to complex problems.
- Develop software for high-consequence decision-making systems using Python, Bash, Ansible, and other automation tools.
- Collaborate using Git and GitLab while practicing feature-branch workflows, pull requests, commit deconfliction, and CI/CD pipelines.
- Deploy solutions in Linux environments (e.g., Red Hat Enterprise Linux (RHEL), Ubuntu), using containers such as Docker and Kubernetes; schedulers such as cron, systemd, and SLURM; and cloud and container registries.
- Identify opportunities to improve computational efficiency.
- Continuously learn about emerging technologies, research, and algorithms while collaborating with a diverse group of colleagues.
- Selected applicant must be able to work onsite.
Requirements & Tech Stack
- Python
- Bash
- Ansible
- Git
- GitLab
- CI/CD
- Linux environments (e.g., Red Hat Enterprise Linux (RHEL), Ubuntu)
- Docker
- Kubernetes
- cron
- systemd
- SLURM
Qualifications
We Require
- A Bachelor's degree in a relevant discipline, or an equivalent combination of directly relevant education and engineering or scientific experience.
- The ability to obtain and maintain a DOE Q clearance.
We Desire
- Graduate degree in Computer Science or a highly related field where an independent research project was a graduation requirement.
- Demonstrated software development skills and familiarity with modern software development practices and tools (e.g., Agile).
- Strong verbal and written communication skills.
- Ability to work effectively in multidisciplinary teams.
- A passion to improve and expand technical skills.
- Experience with programming languages and systems such as Ansible, Python, Bash, Linux, and container technologies.
- Experience using containers and virtualization to isolate untrusted software, including virtual networking, basic routing concepts, and network isolation.
- Fluency with Linux operating systems and software engineering practices.
- Ability to configure containers and Python environments and modify the shell path to include new libraries.
- Knowledge of container-composition tools, including Helm charts, Compose files, and Dockerfiles.
- Experience deploying web services, websites, servers, applications, or large language model (LLM) frameworks.
- Experience with configuration management and automation tools such as Ansible, Puppet, Chef, or Salt.
- Experience with CI/CD and scheduling, including cron or systemd timers, SLURM or Kubernetes job workflows, Bash-based pipelines, or GitLab runners.
- Experience applying networking fundamentals, including TCP and UDP, ports and firewalls, DHCP, DNS, and secure tunneling using SSH.
- Active DOE Q clearance.