Software Engineer - Private Terraform Enterprise
HashiCorp builds devops tools for modern applications. We build open source tools, and we also build enterprise products on top of them. The HashiCorp suite empowers organizations to provision hybrid cloud infrastructure, secure secrets across distributed applications, and run dynamic resources.
At HashiCorp, we operate according to a strong set of company principles, many of which are described in The Tao of HashiCorp. We value top-notch collaboration and communication skills, both among internal teams and in how we interact with our users. We take care to balance and be responsive to the needs of our open source community as well as our enterprise level customers.
Engineering at HashiCorp is largely a remote team. While prior experience working remotely isn't required, we are looking for team members who perform well given a high level of independence and autonomy. We have a well-worn internal RFC process for all nontrivial engineering work that helps us stay in sync with each other across the organization, despite being remote and distributed.
HashiCorp’s Terraform is an open source project that enables you to safely and predictably create, change, and improve production infrastructure via the CLI. It codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
Terraform Enterprise is built on top of our open source project Terraform. Terraform Enterprise is the best way to collaborate, validate, and execute Terraform in organizations large and small. Terraform Enterprise is available as a HashiCorp-hosted SaaS, but we also package TFE for self-deployment by our customers into their own environments. This multi-target packaging of TFE is what we call Private Terraform Enterprise (or PTFE for short).
There are a host of interesting problems to tackle on the PTFE team, stemming from the fact that this team needs to handle scale in three distinct dimensions:
- A growing number of customer installations means we need features and automation to help sales and support teams give every one of our customers a wonderful experience with PTFE.
- Each individual installation will grow, placing scaling challenges on the application and the infrastructure that we will need to address.
- Each new customer environment we support introduces the potential of additional complexity - we'll need novel solutions across our entire pipeline to be able to regularly deliver releases across many platforms with confidence.
In this role, you can expect to:
- Own the full lifecycle of development: from getting feedback on proposed designs, through implementation, testing, shipping, and supporting our Support team and customers.
- Develop the Terraform modules, machine images, system configuration, and software that hosts Terraform Enterprise in customer environments.
- Switch fluidly between Infrastructure Engineering and Software Engineering tasks. For example: The results of your debugging investigation into a boot ordering issue one morning push us to decide to rewrite a Bash bootstrapping script in Go, a task you pick up that afternoon.
- Work on the full stack of the system. For example: While working on a customer-reported issue, you discover that we need to handle an unforeseen error condition in one of our Go services. You author the fix, get it reviewed and deployed to the SaaS, and pull it in for the next Private release.
- Find elegant strategies for enabling a wide variety of customers (differing needs, constraints, and technical fluency) to be successful deploying and operating PTFE in a diverse array of environments.
- Think deeply about the challenges our users face, champion their needs in roadmap planning, and find ways to iteratively deliver value to users in your work
You may be a good fit for our team if:
- You are familiar with infrastructure management concepts and ecosystems.
- You have experience using Terraform or similar tools.
- You have experience with building software to be run by others in a variety of environments.
- You have experience writing backend services and/or APIs in Go as well as experience operating and maintaining production systems in a Linux and public cloud environment.
- Bonus points if you have experience with operating production services that were subject to compliance or regulatory requirements
- You have worked in an Engineering organization where there were cross-team dependencies in deploying, operating, and/or supporting production services
- You have experience balancing the tension between the overall technical ideal and the pragmatic next step.
About the Application Process
All work requires excellent written communication skills, remote work doubly so. For this reason, we require a cover letter for your application to be considered complete.
In your cover letter, please describe what draws you to working at HashiCorp and to this role in particular. Specifics of your past experience are great to include, too.
HashiCorp embraces diversity and equal opportunity. We are committed to building a team that represents a variety of backgrounds, perspectives, and skills. We believe the more inclusive we are, the better our company will be.
Apply for this Job
Did we miss something?
Do you believe you'd be a great fit for this role, but the description above doesn't quite match your skills or experience? We'd still like to hear from you.
Subscribe to our monthly newsletter to get the latest news and product updates.