Who We're Looking For

We're hiring engineers in New York City.

We care about building an inclusive team where we all feel safe to do our best work. We care less about your past (education, work history) than the future. Interest? Curious? We'd love to chat.

 

Developer
Advocate

For most build tools, step 1 is “spend a month rewriting your build script in our configuration language.” This is a non-starter for us.
 
Engineering teams should be able to adopt Windmill quickly and incrementally. You start by telling Windmill how to build one target (“test everything”). You get progressively more value from Windmill by telling it how to subdivide that target into smaller pieces (e.g., “test one package”, “test one file”, “test one function”).
 
We need you to be the point person to sell and onboard teams on Windmill.

What You’ll Do

  • Talk to engineering teams and understand how their existing build & test pipelines work
  • Identify teams that would be good design partners to help us shape the product
  • Write tooling and configuration to make it easier for teams to use Windmill
  • Collect feedback on barriers to entry and API sharp edges
  • Design the APIs that people use to describe their build & test processes
  • Help us build a team culture where everyone's doing their best work

Past experience with sales engineering or user field studies is a big plus. Our ideal candidate has experience doing engineering to onboard enterprise customers onto infrastructure-as-a-service.


Distributed Systems
Engineer

Windmill is container orchestration for tests. Every time the developer saves, we send just the diff to our servers. We mount the user’s codebase on top of a container image. We use container primitives to start running their tests. And we need to do this in parallel on multiple servers.

We need you to make this all happen in less than a second.

What You'll Do

  • Build distributed systems in Go with gRPC
  • Store filesystem state so it's fast to read, write, and shard across machines
  • Run jobs in parallel on a cluster
  • Apply observability tools to help users understand their build process
  • Set up cgroups and bridge networking to isolate build processes
  • Help us build a team culture where everyone's doing their best work

Familiarity with any of these tools is a big plus: RunC, OverlayFS, Kubernetes, OpenTracing, Linux namespaces, or Linux cgroups.