Sr. Software Engineer - Infrastructure Orchestration
The Infrastructure Orchestration team is a core part of HashiCorp’s internal platform infrastructure group. Compromised of Site Reliability Engineers and Distributed Systems Engineers, this team is responsible for building the software that deploys and orchestrates infrastructure underpinning the HashiCorp Cloud Platform. We are working on the next-generation infrastructure platform for internal and external services, developing common tooling and workflows that are low friction and enable teams to get services built and deployed quickly and securely.
We work closely with our sister infrastructure teams, release engineering, developer productivity, site reliability engineering teams, and other internal groups consuming our infrastructure platform. As our group expands, we’re seeking more Software Engineers to join our infrastructure team.
Our infrastructure is hosted on AWS (EC2, S3, RDS, ECS) with backing data stores like PostgreSQL. We leverage the HashiStack suite (Terraform, Consul, Nomad, Vault, Packer) and in-house tooling written in Go. We ensure that all infrastructure components we offer to internal teams can be deployed consistently, reliably, and managed in a secure and compliant manner.
If this sounds interesting, we’d love to meet you! We have a large footprint and a quickly growing user base, with many interesting problems and opportunities for growth and development.
Here’s what you can expect to accomplish on the Infrastructure Orchestration team at HashiCorp: Within 30 days, you will:- Learn about HashiCorp’s products, teams, peers, and processes
- Ship your first infrastructure project using HashiCorp tooling like Packer, Terraform, Nomad, and Consul
- Have one-on-ones with every member of our team and members of other teams
- Experience the HashiCorp culture and get familiar with the Tao of HashiCorp
- Become a trusted member of the team and a subject matter expert on the systems we build and support
- Take an active role in recommending and designing internal systems to support product, engineering, and security teams
- Create tools for automating deployment, monitoring, and operations of the platform
- Recommend improvements to the systems the team builds and supports
- Provide ongoing maintenance and support of internal tools to improve system health and reliability
- Participate in an on-call rotation that supports our production infrastructure
- Drive the research and testing of systems to help meet the needs of our Engineering teams, including writing RFCs to show what thoughts and considerations went into the selection of the system
- Build, deploy, and support new platform components
- Help develop mature software engineering practices
- Provide occasional after-hours support for our tools in the event of an outage
- Work on next-generation distributed systems for infrastructure management
- Build and architect systems for managing large-scale global fleets of resources
- Drive the research and testing of systems to help meet the needs of our Engineering teams, including writing RFCs to show what thoughts and considerations went into the selection of the system
- Build, deploy, and support new platform tooling
- Help develop mature software engineering practices
- Provide occasional after-hours support for our tools in the event of an outage
- You have professional backend software development experience in cloud environments
- Strong language experience using Go or another modern programming language
- Experience operating AWS, Azure, or Google Cloud infrastructure
- Familiar with microservices architectures, and ideally have seen microservices in operation at a global scale, including its active development
- Familiar with infrastructure management and operations lifecycle concepts
- Experience building and supporting the production infrastructure for a large-scale SaaS application
- Prior exposure to building and operating a large-scale cloud-based infrastructure
- Comfortable and enthusiastic about adopting the HashiCorp way of building systems, using an infrastructure-as-code (IaC) approach, and taking advantage of immutable infrastructure
- Have a good handle and understanding of platform engineering
- Professional experience with configuration management tools such as Ansible, Chef, Puppet, or Salt to manage Linux and/or Windows hosts. A thoughtful understanding about when and how to use them and the tradeoffs incurred
- Experience using source management tools like Git
- Have a willingness to learn new technologies and methodologies
- Understand the difference between shipping a project that’s done versus a project that is perfect
- Have a customer-centric attitude and willingness to enthusiastically support the engineering teams to help HashiCorp continue to deliver great products and services
At HashiCorp, we are committed to hiring and cultivating a diverse team. If you are uncertain about applying or don’t meet all of the criteria, we encourage you to apply anyway. We’d love to hear from you!
About the Interview ProcessThe interviewing process will have several phases. First, you will have a short call with the recruiter for the position. After that, you will chat with the hiring manager to discuss the role and gauge your interest in coming on board. Finally, you will have four “panel” interviews where you go in-depth and get to meet with individual members of the team.
#LI-Remote
Individual pay within the range will be determined based on job related-factors such as skills, experience, and education or training.
The base pay range for this role in the SF Bay Area / NYC area is:$176,500—$207,600 USDThe base pay range for this role in Seattle Metro, Denver / Boulder Metro, New York (excluding NYC), Washington D.C., or California (excluding SF Bay Area) is:$161,800—$190,300 USDThe base pay range for this role in Colorado (excluding Denver / Boulder Metro) and Washington (excluding Seattle Metro) is:$147,100—$173,000 USD