Software Engineer, Nomad API
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
Our team builds and maintains Nomad, a performant, distributed cluster orchestrator that supports heterogeneous workloads including containerized applications, VMs, batch processing, and machine learning frameworks. PagerDuty, Cloudflare, Roblox, Pandora, and many other large organizations run Nomad in production today.
Our customers run Nomad on tens of thousands of nodes, and rely on our tools to operate their own infrastructure and software. Our team cares deeply about reliability and performance.
Some of the future challenges for our team include:
- Building an extensible plugin architecture to support and grow an ecosystem of plugins for shared concerns like runtime drivers, devices, and logging.
- Shipping and supporting new Nomad API features for cluster operators, developers, and product integration.
- Service segmentation and enabling shared network namespaces among tasks.
- Deployments across a large fleet of nodes spanning multiple regions, hosting providers, and machine types
- Debugging and inspection capabilities for tasks.
- Monitoring and predicting resource utilization.
Much of our work and libraries are open source. Nomad and its supporting libraries are written in Go. Our API is used by a broad ecosystem of clients including our own CLI and web interfaces, other HashiCorp products, and community and enterprise tools built on Nomad.
In this role, you can expect to:
- Help define, implement, and improve the Nomad API, both for internal clients and ecosystem integrations
- Mentor and support our core and UI teams in using best practices for service APIs, including HTTP/REST, RPC, and scripting interfaces
- Work closely with our Product, Marketing, and other customer-facing teams to scope and plan for fixes, enhancements, and major releases
- Work closely with our UI and core engineers to bridge client and server features
- Provide first-class documentation, examples, and supported integrations for API clients
- Participate in community support and (light) on-call rotations
You may be a good fit for our team if:
- You have experience designing robust, secure APIs for both internal systems and user + customer-developed applications
- customer-developed applications
- You are comfortable working in Go or another modern systems-programming language
- You enjoy working with operations, security, and application teams both internal and external to HashiCorp
- You have worked with open source and/or “open core” products, including locally-hosted and managed products
- You are familiar with distributed and cloud-native system architectures and can help map them to API resources and methods
- You have utilized code-driven documentation and static site generation tools for product, API, and training resources
- You exhibit ownership and initiative 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 features
In your cover letter, please describe why you're interested in working at HashiCorp, and on the Nomad team 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.