Software Engineer - Backend - Vault CryptoSec
United States - California (Remote)
HashiCorp is a fast-growing startup that solves development, operations, and security challenges in infrastructure so organizations can focus on business-critical tasks. We build products to give organizations a consistent way to manage their move to cloud-based IT infrastructures for running their applications. Our products enable companies large and small to mix and match AWS, Microsoft Azure, Google Cloud, and other clouds as well as on-premises environments, easing their ability to deliver new applications for their business.
At HashiCorp, we have used the Tao of HashiCorp as our guiding principles for product development and operate according to a strong set of company principles for how we interact with each other. We value top-notch collaboration and communication skills, both among internal teams and in how we interact with our users.
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.
About the Role
We build Consul, Nomad, Vault, Terraform, Vagrant, and Packer. Alongside that, we deploy enterprise products for each in a variety of different ways: licensed and unlicensed binaries, appliances to public cloud platforms, and hosted SaaS platforms. Our products help organizations of all sizes run any infrastructure for any application.
This role is a Senior-level Software Engineer on the Vault team at HashiCorp. The Vault team works on both open source and enterprise versions of Vault, programming primarily in Go with a focus on stability, reliability, performance, and security. Vault is used in critical environments and operated by a range of organizations and individuals to solve infrastructure management problems.
This role provides an opportunity to help design, prototype, and implement core features while ensuring the stability of the product across a range of use-cases. Our teams’ work can be viewed on GitHub in the core products (for Vault, Nomad, or Consul) or in libraries our teams depend on, like raft, memberlist, and go-plugin.
You can learn more about the Vault product with our Co-Founder & CTO by watching this video here: Introduction to HashiCorp Vault with Armon Dadgar
In this role, you can expect to:
- Help contribute to the HashiCorp community by providing code review, mentorship, and support to HashiCorp employees, community members, and partners
- Collaborate with highly skilled HashiCorp Engineers in a team based approach on delivering key Vault functionality
- Advocate and support improvements to Vault APIs and core to improve development and integration of tools and plugins
- Work on issues and improvements critical to the success of HashiCorp customers and the broader community
- Own the full lifecycle of experience-appropriate feature development from design through testing and release
- Program mostly in Golang, learning from and contributing to a team committed to continually improving their skills
You may be a good fit for our team if some of the following apply:
- You have experience in a programming language like Go, Java, or C++
- You have skills or interest in practical/applied cryptographic algorithms, or experience with Hardware Security Modules (HSMs), Public Key Infrastructure (PKI), Advanced Data Protection (ADP) and Encryption as a Service
- You like writing programs that can be understood by their users
- You care about creating highly testable code
- You enjoy communicating your ideas through writing
- You have experience operating and maintaining production systems
- You exhibit ownership in your work, including research and understanding of the problem space, collaborating with the team to come up with solutions, proactively communicating your progress to the team, and shipping the feature over the finish line
What is our hiring process like?
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:
- Technical Code Pairing interview
- Code Review interview
- Communication and Collaboration interview
- Systems and architecture interview
- If applicable, a final conversation with the Engineering Manager for the team you would be joining
We do our best to accommodate your programming language of choice for technical interviews.
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.
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.