RFD 1

Founding Values

An ever-changing document that describes how Defined Once is meant to be. Something to come back to over time, to make sure the company we build still aligns with what we once envisioned.

It goes without saying that we are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic. We hold a strong stance against surveillance capitalism and are fundamentally opposed to computers enslaving their owners.

Do as you Say

Values are meaningless if not acted upon. We show our values even when it is not easy to do so and we discuss them when they tend to snow under. We acknowledge that this is an everyday exercise.

In practice we…

  • dare to say no, even when a yes is really needed

  • do not let deadlines nor pressure redefine our values

  • assume that someone else might always review our work

Question the Status Quo

There is no reason to accept "what is" as "what should be". We remain critical and keep questioning the work of others and most importantly the work of ourselves. Accepting things because of the way they are guarantees an upper bound on progress. Not accepting the status quo is an all encompassing mindset that makes up our core.

In practice we…

  • as hackers take security as part of the core design. We deploy endless curiosity to understand the root of things. We routinely play as attackers on our own systems and stay updated about newfound vulnerabilities.

  • as engineers remain sharp, diligent, and work with precision to ask the right questions at the right time. Foundational systems require our constant critiquing and meticulous care.

  • as business people don't accept the customer's requirements in a vacuum, but take into account the best interests of all parties and systems involved. We frequently put our selves in the shoes of the customer and communicate our perspectives honestly.

  • as colleagues understand each other's ideas and construct them together respectfully. We are not afraid to point out weaknesses in each other's ideas while remaining open to critique of our own. We assume good intent, embrace difficult conversations, and recognize that the best solutions emerge from collective scrutiny and mutual growth.

  • as friends look out for each other's well-being beyond the work itself. We recognize when someone is struggling and create space for honest conversations about life outside our projects. We don't accept a culture where people suffer in silence.

Prioritize your Future Self

Short-term fixes will always hurt long-term progress. We acknowledge that short-term value is often preferred, but realize that the long-term costs are guaranteed to catch up. Short term solutions that have an expiry date should be treated as such. We often find ourselves hiking through a forest of options regularly arriving at a fork in the path. Understanding the ramifications of any given path is a skill that we practice every single day.

In practice we…

  • want to understand what success looks like. We define tests based on requirements and expand them based on feedback.

  • need to understand what failure looks like. So that we can change direction when we realize we have been following the wrong route.

  • define our ideas before we start building. We translate user needs to architectures and convert workflows to concrete types. It is the only way to build misuse resistant systems.

  • document our thinking. We acknowledge that nothing good is built in isolation and describe our considerations along the way in comments, wikis and RFDs.

  • prioritize a single source of truth. We build complex systems that operate with no hidden assumptions. We define single interfaces that centralize all necessary information for our future selves to come back to.

Build for People

When only the few benefit form our work, we are not building the right product. We incorporate our ethical framework in our decisions to (not) build for clients. As engineers, we acknowledge that systems might benefit the few, while as humans we question whether the same systems might harm the many.

In practice we…

  • do not build technologies that can be used to enslave, murder, or diminish other humans.

  • take responsibility before, during and after building a product. At no point do we deny blame, but at every point do we explain our reasoning.

  • want value to be derived from a good product, not business economics. We do not need artificially walled gardens or vendor lock in if our product is worth it.

On Growth

While growth can come organically from the success of innovation, we firmly reject growth for the sole purpose of growing.