Senior Golang Engineer, Consul Service Mesh
United States (Remote)
Consul helps organizations automate network configurations, discover services, and enable secure connectivity across any cloud or runtime. We recently launched Hashicorp Consul Service on Azure, a fully managed application available through the Azure marketplace. We’ve also announced the availability of Consul on AWS through our flagship HashiCorp Cloud Platform (HCP), a self-service, fully managed platform offering HashiCorp products as a service to automate infrastructure on any cloud.
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:
On the Consul team, we help organizations automate network configurations, discover services, and enable secure connectivity across any cloud or runtime. The customers and large community of users of our tools are operators, infrastructure engineers, and software developers that encounter novel performance, scaling, and usability challenges that we help them solve.
Consul started as an infrastructure management tool for service discovery and health checking, and has evolved to become a full-featured service mesh. Some of the functionality you’ll be working on will include proxy integrations, Envoy’s xDS APIs, certificate management for mutual TLS connectivity, and security through service-oriented Intentions. You’ll be an active contributor to the service mesh ecosystem, following new developments in emerging technology and competitive offerings, looking for opportunities for product differentiation, and rethinking product architecture to meet new global scale and organizational demands.
In this role you can expect to:
- Program mostly in Go, learning from and contributing to a team committed to continually improving their skills.
- Build and architect distributed systems for service connectivity across heterogeneous environments (Kubernetes, VMs, bare metal datacenter or edge deployments).
- Interface directly with internal teams, users and HashiCorp customers, as well as the larger Consul community.
- Participate in user research studies and discussions with product managers and customers to better understand the network topologies, challenges, and constraints for which operators are trying to solve, and leverage those insights when approaching feature design and implementation.
- Propose new functionality or substantive changes through written documents in an async process, describing the problem background, proposed implementation and example UX, then iterating on peer feedback collaboratively.
- Own the full lifecycle of feature development from design through testing, release and support.
You may be a good fit for our team if you have:
- Experience in a lower-level language like Go.
- Familiarity with service-oriented architectures, and ideally have worked on an infrastructure or platform team building internal tooling to deploy, connect and monitor them.
- Empathy for the people operating, learning, teaching and supporting software you write, and consider their experience when making design decisions and performance, security or complexity tradeoffs.
- Awareness of the broader service mesh ecosystem and an interest in contributing to a full-featured product offering while reducing complexity and barriers to adoption for practitioners.
- Curiosity for academic computer science research, particularly distributed systems papers such as Raft and Paxos variants, and enjoy learning more about the challenges of consistency at global scale.
- Collaborate with peer engineers in discussions around performance, user experience, security and other constraints when designing complex systems.
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.