We're looking for a Software Engineer to join our team and help architect, build, and maintain the apps and services that comprise our Core Product, Public APIs, and Open Source SDKs. You’ll note we didn’t prefix this role with “Frontend”, “Backend”, or “DevOps”. Suffice it to say that we are looking for someone who is excited to learn and doesn’t expect to focus on one area of the stack.
What will set you up for success
- You've built large web applications and are fluent in Typescript.
- You have experience with Docker, Kubernetes, and deploying in one of the clouds.
- You are passionate about developer experience and tooling.
- You can help translate complex customer requirements into product requirements.
- You can distill simple solutions from complex product requirements.
- You're excited to contribute across the stack, from work on our Public APIs and their associated Open Source (generated) SDKs to developer docs and complex UIs
- You're motivated by having a hand in shaping the direction of the company, product, and culture
What you'll be doing in this role
- Designing, developing, and maintaining the growing number of internal and external services that comprise Dopt
- Clearly communicating (written and/or verbally) the trade-offs associated with engineering solutions/decisions.
- Contributing to the development of conventions and best practices for software development.
- Designing, developing, and maintaining our CI/CD pipelines.
- Building our core product, the focal point of which is a collaborative flow-building experience with APIs for developers to access and manipulate the flow paired with dev docs and SDKs to make the experience of doing so pleasant and enjoyable.
- Connecting with the customer. We are building a developer tool. Software engineers at Dopt are well positioned to understand customer use cases, empathize with their pain, and learn from their feedback.
We're a, for the most part, a TypeScript shop. We have zero issue introducing other languages into the stack (we have and can) but we’ve primarily worked in the language we are collectively most comfortable in. We develop in a big/beautiful monorepo that leverages pnpm for dependency management and turbo for building it. We have ~95 well-encapsulated packages that comprise our monorepo and expect that number to grow dramatically over time (we have CLI packages that help you generate packages and rules for keeping their interfaces and dependencies consistent). We develop locally and leverage docker to keep development consistent and sane. Some tech you will 💯 be exposed to if you were to join: Node.js, Fastify, Typebox, PostgreSQL, GCP, Kubernetes, Open API, React, Vite, vanilla-extract, esbuild, Conventional Commits, ... to name a few.