My Manifesto

To keep a sharp eye on what is “right” in software development, here are a few rules I agree with.


When working on code, these are priorities:

  1. Failing CI
  2. User reported bugs.
  3. Self reported bugs.
  4. New features.

Where to fix

Solve bugs and dependencies in the lowest level possible. From low to high:

  1. Package management.
  2. Configuration management.
  3. Application.


A package should be able to autonomously:

Configuration management

A configuration management contains:



Use dependencies when absolutely required, in other words: only use dependencies when two entities have no value without each other. This ensures:


Keep the smallest (testable) related code in a repository. This ensures autonomous development, most independent testing and easy collaboration.

There are multiple types of code:


Testing (integration) happens on an environment that’s production-like.

Also; see my purpose