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 democratises 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 core product is a CLI tool that our users run in their terminal. We also recently released Garden Cloud, a web application that complements our open core product and enriches the experience.
As a Senior UI Engineer, you'll be responsible for designing and implementing user interfaces for the cloud product that take Garden to the next level, delivering an experience that's simply not possible through the terminal. Think log streams, network traces, test results, and other information that's delivered in real time to developers working on distributed systems. We're a small team and you can have a huge impact on the look, feel, and function of our products—products that you'll be using yourself every day on the job.
- You’ll work with the entire team in planning and speccing out the various components of Garden Cloud.
- You'll put a lot of thought into designing the look and feel of individual features—and the product as a whole—with the goal of making complex information feel simple and intuitive.
- You'll work alongside frontend and full-stack engineers in implementing the features, using Typescript and React, and real time-streaming protocols such as websockets.
Who we're looking for
Our products are first and foremost geared towards improving the productivity of developers working with complex systems. And developers are a tough crowd. That's why we're looking for someone that has experience with working on these kinds of systems and understands the frustration that friction and poor developer experience brings about.
- You have 5+ years of experience as a frontend engineer with a strong background in designing complex user interfaces. Bonus points for having worked on developer tooling before.
- You have considerable experience with Typescript and modern React codebases. (We use React hooks, React Query, do CSS-in-JS with Emotion, among other things.)
- You appreciate elegant and minimalistic designs, even more so when they're geared towards complex use cases.
- 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.