Our engineering values help us model our behavior, culture, and decision-making. They complement Doist's Core Values, guiding our approach to building and maintaining technology.
We relentlessly pursue continuous improvement, and are adamant about regressions. We're skeptical of heroic efforts, focusing instead on steady steps towards defined goals.
We leave things better than how we found them, even if we don't own them. We frequently perform opportunistic refactors, automate, and prioritize the long term over the short term.
We ship early and often, keeping lead time low and release frequency high. To achieve this, we continuously invest in tools and practices required to build confidence.
We accept that impact requires trade-offs and are openly intentional about those we make. We evaluate, document, prioritize, and move on.
We strive for transparency, not consensus. We seek sound decisions, not unanimity. To achieve this, we proactively integrate feedback, while ensuring decision-making is clear.
We participate in our work at all stages, from early brainstorms to maintaining it in production. We tend to generalize, not specialize, and to sharing knowledge, not siloing it.
We consolidate our approach on common or high-level practices across engineering, prioritizing sharing and reuse, and reducing waste.
We actively support each other, working in an atmosphere of mentorship, feedback, and growth. We're independent, but not isolated, and strive to unblock others and help them grow.
We give back to the communities we build on top of by actively sharing our work and our learnings, as well as sponsorships and donations. We do this independently of business goals.