Software Engineer

Virginia TechBlacksburg, VA

About The Position

The Department of Physics at Virginia Tech seeks multiple Wage Software Engineers to support the NSF-funded project “NSF POSE: Phase II: Ecosystem of the Applications and Libraries for Physics Simulations (ALPS)”, a global, community-driven open-source software ecosystem used for quantum and classical physics simulations. ALPS supports a broad scientific community spanning condensed matter and materials physics, quantum computing, quantum chemistry, atomic/molecular optics, and related areas. This position will focus on the software engineering work needed to establish and sustain the ALPS open-source software environment (OSE), including developer-facing infrastructure and user-facing resources. Key project goals include strengthening long-term sustainability through modern infrastructure and governance; improving maintainability and code quality via robust testing and release practices; establishing clear on-boarding protocols for new application codes (including wrapper standards and input/output standards); and expanding accessibility through documentation, tutorials, and training materials delivered through workshops and online channels. The Software Engineer will collaborate with the distributed ALPS leadership and contributor community and will help implement and maintain ALPS development standards and tooling (e.g., repository workflows, testing and delivery practices, packaging/distribution, and user/developer support channels).

Requirements

  • Bachelor’s degree in Computer Science, Engineering, Physics, or a related field, or equivalent training and experience.
  • Demonstrated ability to develop, test, and maintain software in one or more languages used for scientific/technical computing (e.g., Python, C/C++).
  • Proficiency working in a Linux-based development environment.
  • Demonstrated experience with collaborative version control workflows (e.g., Git/GitHub) and communicating changes through code reviews and issue tracking.
  • Ability to communicate clearly with both developer and user communities and contribute to documentation and support materials.

Nice To Haves

  • Experience supporting open-source scientific software ecosystems (libraries/applications), including contributor on-boarding and interface design (APIs/wrappers).
  • Experience with continuous integration/testing and release processes for multi-platform scientific codes.
  • Experience with packaging/distribution (e.g., Python packaging) and/or HPC-facing distribution workflows.
  • Experience developing or integrating user-facing support tooling (e.g., documentation sites, tutorials, or conversational/agent-style user assistance).

Responsibilities

  • Implement and maintain ALPS development standards and tooling (e.g., repository workflows, testing and delivery practices, packaging/distribution, and user/developer support channels).
  • Collaborate with the distributed ALPS leadership and contributor community.
  • Strengthen long-term sustainability through modern infrastructure and governance.
  • Improve maintainability and code quality via robust testing and release practices.
  • Establish clear on-boarding protocols for new application codes (including wrapper standards and input/output standards).
  • Expand accessibility through documentation, tutorials, and training materials delivered through workshops and online channels.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service