Why are immutable objects a way to create safer software that is easier to maintain? And what are best practices to implement them? This article provides answers.
Wondering about what upstream and downstream means in the context of software development? This articles discusses several usages of these words and defines two simple rules to identify what is upstream and what is downstream in every context.
Software that does more than a "hello world" usually needs to be configured in some way or another in order to function in a certain environment. This article explains why this configuration must not be part of the software itself and explores some ways on how to externalize configuration parameters.
Everyone knows that aiming for 100% code coverage is bullshit. This article re-defines code coverage to make 100% a meaningful and worthwhile goal.