Software Engineering Culture

This is a list of shared values we keep in mind when building software at diesdas.


We communicate what we don’t know.

We see lack of knowledge as an opportunity.

We choose learning over pretending.

We acknowledge that teaching is a skill and practice it.

We act on beginner’s feedback to make things simpler.

We don’t tolerate complexity.

We keep dependencies to a minimum.

We write code for people to read.

We leave the code better than it was.

We prioritise long-term stability over short-term wins.

We choose simple concepts over familiar ones.

We seek objective reasons.

We don’t follow hype, trends or dogmas.

We are convincible by objective arguments.

We seek compromises, which don’t reduce quality.

We are open to re-evaluate our decisions.

We take responsibility for user experiences.

We point out usability problems and find solutions with designers.

We prioritise user experience over developer experience.

We learn from other disciplines.

We choose guarantees over discipline.

We let computers do the work for us.

We acknowledge that we all make mistakes.

We choose tools that don’t rely on our effort.

We build software that doesn’t rely on our effort.

We learn continuously.

We encourage experimentation.

We allow room for failure.

We make time for learning.

We value general knowledge over specific one.

One of our internal development workshops