Post Jobs

Sr. Software Engineer – Terraform CDK

Full Time


About HashiCorp

At HashiCorp, we’re building a generation-defining infrastructure software company, powered by our core principles and a growing team of talented, committed professionals working together to help organizations seamlessly transition to and operate in the cloud. Founded in 2012 and headquartered in San Francisco, 85 percent of our employees work remotely, strategically distributed around the globe. From our inception we built the company with a remote-first approach because we believe talent has no boundaries.

About the Team

The Terraform CDK team is dedicated to reducing friction in the adoption of HashiCorp Terraform by providing a comprehensive and idiomatic developer experience for cloud development workflows. The team's primary focus is maintaining and growing the Cloud Development Kit for Terraform (CDKTF), an open source library which allows practitioners to use familiar programming languages to define and provision cloud infrastructure, giving users access to the entire Terraform ecosystem while allowing them to leverage the power of their existing tools. Our goal is to create an additional front door into Terraform alongside HashiCorp Configuration Language (HCL), aimed at users with a strong preference for provisioning infrastructure in their native programming language or a strong need to create abstraction layers to manage complexity.

As a team building an open source project, we actively engage with outside contributors and the wider community of CDK enthusiasts in GitHub, on the Slack, on our HashiCorp Discuss forum, on StackOverflow, and doing community office hours together with HashiCorp's developer advocates. In the past, we've also collaborated with engineers from the AWS CDK project. We have built close relationships with our early adopters and continue to learn from the successes and challenges our users encounter. While not strictly required by our roles, our team members enthusiastically evangelize CDKTF by speaking at conferences, blogging, contributing to newsletters, and appearing on podcasts.

About the Role

We're looking for an experienced software engineer to be the founding member of a new pod of developers based out of North America. (Our current engineers are all located in Europe.) Once onboarded, you'll have the opportunity to lead high-impact projects and mentor 1-2 junior to mid-level software engineers in your pod, while still spending at least half of your time actively contributing features, bug fixes, and software designs. The meeting load is light, and you'll spend a good amount of time writing documents and collaborating asynchronously with your peers in engineering and product, but we're looking for someone who also isn't afraid to take initiative and schedule 1:1 calls with folks across the Terraform organization, as we seek to build stronger connections and work more closely with other teams.

In your first 30 days, you can expect to:

  • Make several small contributions to the codebase (such as tickets labeled good-first-issue)
  • Get to know the members of the team
  • Feel comfortable with the team’s processes (meetings, git workflow, code review, testing, deployment, etc.)
  • Understand how your role fits in with the vision for the product and the team
  • Complete required onboarding sessions and training

In your first 90 days, you can expect to:

  • Design and implement one or more complex features
  • Feel comfortable navigating all parts of the codebase
  • Regularly review others' technical contributions for quality, consistency, patterns, and opportunities
  • Demonstrate an understanding of how customers use our product
  • Understand how your team's work and role fits in with the vision of the organization

In your first 180 days, you can expect to:

  • Demonstrate ownership and reliable delivery, quality, and operations of a high-impact project
  • Participate in the creation of vision by advocating for specific improvements to the product
  • Pioneer engineering best practices within your team and across the organization
  • Mentor a more junior engineer within the team or in another part of the organization
  • Exemplify how experienced engineers can be a multiplier effect on team outcomes

About You

You're a great fit for our team if you have:

  • 5+ years of production experience (meaning you have worked professionally on software that operates in a production environment serving users)
  • Fluency in TypeScript (either for frontend or backend development, ideally both)
  • An understanding of infrastructure management concepts, widely used cloud providers (e.g. AWS, GCP), commonly deployed services, and serverless technologies
  • Prior experience with CI/CD tools and automation workflows, both for application development and deployment
  • Familiarity with code generation, translation between type systems, compilers and transpilers, and basic distributed systems concepts
  • A track record of technical leadership on a team with multiple engineers, including process improvements as well as ownership and delivery of high-impact projects
  • Excellent written and verbal communication skills and a friendly, collaborative attitude
  • Prior experience mentoring developers who are more junior
  • Eagerness to learn through humility and reflection
  • Passion for developer experience and a desire to play a role in the future of cloud infrastructure

You'll get bonus points for:

  • Any other programming language(s) you're comfortable with (particularly Go, Python, Java, C#, or Ruby on Rails)
  • Familiarity with Terraform, CDK, and/or other infrastructure-as-code tools
  • Experience working in an open source software development environment
  • Strong product focus, with a proven track record of partnering with product leaders on articulating long-term product vision and charting the path to get there

About the Application Process

Please note, as collaboration and communication are a critical aspect of how we work, a cover letter is a great way to provide a sample of how you communicate. In your cover letter, please describe why you're interested in working at HashiCorp, and what draws you to this role in particular. Specifics of your past experience that are relevant to this role are great to include, too.

Once we have reviewed your resume and cover letter, if we recommend you for an interview, our hiring process is as follows. (The below serves as a basic outline; we may choose to add or remove steps based on the information that we gather during the process.)

  • Introductory Call with someone from our recruiting team
  • First Interview with an Engineering Manager
  • Interview Loop with additional team members, with the following panel:
    • Coding interview (take-home assignment or pair programming)
    • Communication & Collaboration interview with a peer engineer
    • Systems Design interview (conversational, no code)
    • Product Partner interview with a product manager
  • If applicable, a final conversation with the Engineering Manager for the team you would be joining
  • Offer



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.

For more information regarding how HashiCorp collects, uses, and manages personal information, please review our Privacy Policy.


Let us apply for you (from 10$)

To apply for this job please visit