Overview

Garden is a development platform for multi-service backend systems. We believe that the development of large, complex systems should be as easy and fun as developing a simple monolith. We're tackling one of the hardest problems in the industry, and looking for some great people that want to join us on our quest to shape the future of software development.

What you will do

As a platform engineer, you will work on the inner mechanics of our hosted development environment offering. Our platform continuously builds, tests and deploys changes made to a codebase as they are made, creating an ultra-short feedback loop that will immediately notify the developer when a breaking change is introduced. You will work on the backend component(s) that manage the lifecycle of these development clusters, routing incoming changesets to the appropriate environments so that they're continuously built and deployed into the right cluster.

On top of this, we will add a variety of first-class development tools (think built-in distributed tracing, network analytics, third-party plugins) that will make it easier than ever to debug applications in real-time. In your role, you will be working together with the rest of our multi-disciplined engineering team to continuously expand the featureset

What we're looking for

This is a very challenging project, both in terms of design and implementation. We have a good basis for the development engine (see https://github.com/garden-io/garden) but we're still figuring out a lot of things as we go, so we're looking for someone that's comfortable working within loosely defined constraints. An absolute must is knowledge of Kubernetes, and real-world experience developing complicated multi-service backend systems. Experience with the major public cloud platforms is also expected, and so is a firm understanding of systems design.

We currently develop mostly in TypeScript and Go, but we’re likely to involve other languages over time. Experience with one or both of those languages would be beneficial.