A highly successful software developer is someone who understands that all effects matter.
Side effects in code are effects. They must be planned, validated, documented, and understood.
All manner of effects come out of a decision. When we are only concerned about the immediate result, long-term quality suffers. We must design our decisions not just to produce a singular outcome, but to produce a process that is capable of producing good outcomes, time and again.
Our communication has effects. Our style of speaking may cause others to open up, or shut down. Our choice of words stimulate different thoughts in others; precise language may lead to a deeper discussion, and fluffier language might inspire a broader one. A short speech can prompt inquiry and curiosity; a written document is more likely to lead to decisiveness and pushing forwards.
Our effectiveness depends on the effects we promote.
I’m only on chapter 2, but even so: the effect I am trying to cause right now is for you to buy this book.