Garden's mission is to keep developers productive and happy in the cloud-native era.
Docker, Kubernetes and other cloud-native technologies have made us better than ever at operating our systems in production, but the day-to-day development experience has been left lagging behind.
Developers spend less time in flow, and more time waiting for builds, debugging scripts, or otherwise fighting their tools. We're here to fix that.
Our platform—which includes our open source core product—allows developers to work on distributed systems with remote, production-like dev environments, while enjoying the same fast and frictionless feedback loops we've come to expect when developing a single service locally.
It's a platform that democratizes the kind of advanced developer tooling that only the largest software companies have the resources to build and maintain.
We're still a small team and you'd be joining at a time where you can have a huge impact on our product and our culture. If you've ever thought to yourself that something's not right with our modern development workflows, now's your chance to help fix it!
What you'll do
Our open source core product is pluggable, graph-based, cloud development tool. That's a mouthful, but in essence, it's an engine that's optimised for building, testing, and deploying workloads that run on the cloud. Currently our main plugins are for Kubernetes and Terraform, but we're also working on server-less support—and we're always looking to the future in terms of what technologies to support.
As a full-time Open Core Developer, you'll be responsible for maintaining and improving the core engine and main plugins.
- You'll work closely with the founders in deciding the direction and architecture of Garden Core.
- You'll be in close contact with our community, triaging issues, receiving feedback and weaving it into our overall product roadmap.
- You'll work on functionality that interfaces with other cloud native products such as Kubernetes and Terraform.
- You'll write code, lots of code. Most workflows and pipelines are already set up and the developer experience is smooth. At the same time, there are a ton of exciting features that'll delight developers worldwide that we can't wait to build. So in short, you'll get to do all the fun stuff. And since it's all open source, you can see exactly what that looks like by checking out the codebase.
Who we're looking for
Garden solves problems for teams developing distributed systems that can run on Kubernetes. We're looking for someone that understands the challenges that these teams face, and wants to join us in building developer tooling that helps our users overcome them.
- You have 5+ years of engineering experience, building and maintaining fairly large and complex software systems.
- Typescript experience is a bonus, but not a requirement. We know that for great engineers, programming languages are just tools in their toolbox and that they can easily pick up new ones.
- You have experience with Docker, Kubernetes, and other cloud native products. Bonus points if you've interacted with these tools at the "code level".
- You're passionate about developer tooling and productivity.
- You're happy to work with a team that is still figuring a lot of things out, and values trust, openness, and collaboration while doing so.
We're a small team that tries to keep things simple and lean—and that applies to our interview process as well.
The very first step is a 30 - 45 minute intro call with James, our Head of People. This is where we'll discuss the role, salary, and availability.
Next step is a 30-minute call with Eythor, our CTO. The goal is to give both parties a chance to get to know one another and ask questions and discuss the role and culture at Garden.
After that there's a 60-minute technical interview with two of our engineers. There are no string reversal algorithms though. Instead, we anchor the conversation in things you've actually done in the past and dig deep into those.
The final step is a 60-minute presentation where you present work you’ve done to the engineering team. Depending on the role, this may be something you’ve done in the past or an assignment we design. We want everyone involved in the process, so this is also a chance for you to meet more people from the team and vice versa.