Skip to main content

Learning - E02 - Doing Things Right versus doing the Right Things

In this short article we will examine the difference between thesd two approaches via illustrative short examples.

So what is the difference anyway? #

Doing things right and doing the right things correlate with respective terms that seem as similar as the phrases.

Whilst on the surface, both pairs may seem similar, they actually represent fundamentally different approaches to tackling challenges or addressing problems.

Doing things right #

This phrase was coined to describe efficiency.
An applicable real-world example would be using a stirrer, rather than whipping cream with a spoon. In the field of programming, one could use the IDEs refactoring functionality, rather than manually renaming a variable within a file or across a project, to ensure safety and security.
Thus, performing tasks correctly and efficiently enables one to work more quickly and with less labour or resources for a given task, as opposed to doing it incorrectly.

Doing the right thing #

In contrast to the previous phrase, this one describes effectiveness. For example, a large ice cream shop using hundreds of liters of whipped cream per day may find it more effective to buy ready-made whipped cream instead of making it from scratch. A practical example in programming would be instead of going the obvious and in hindsight quick way to duplicate code for minor changes (DRY - Don't repeat yourself), to make it reusable and maintainable by outsourcing the spots into base classes and using inheritence.

Doing one but not doing both #

The potential for wasted resources becomes evident when one task excels while the other is neglected.
Utilizing another real world example we can clearly see the problems - if you have not combined the whipped cream one whilst reading. Let us imagine the aftermath of a storm that rushed through our house. As the storm rushed through an open window it broke the glassware on a shelf. To optimize the cleaning process, we drive to our friends house in order to pick up the industrial vacuum. This one is capable of doing things right - we know that! The GlassSucker3000 clears up any reminder and remainder of the storms damage to our glass in seconds.
That is it we have done great, but we forgot to do the right thing!
As the storm purged above the house, our roof tiles flew away. And while we headed out to retrieve the industrial vacuum, the rain started pouring into the gaping roof. Our house is now severely flooded.
Had we only done things right as well as to do the right thing.

This example serves to illustrate how crucial it is to utilize limited resources correctly.
Given the real world, not only during your professional work but in your self learning and free time, there will always be constrained resources. What makes you stand out is to utilize them in the right way.

efficiency vs. effectiveness
[1]

For me personally focussing on both doing the right thing and doing things right, helped me on improving a lot. Let us do the right things right!

Deciding on the right approach #

Doing things right focuses on the process of tackling a problem. In Contrast, doing the right thing focuses on the outcome.

In order to get started with a new problem or challenge, I always recommend to invest time in order to ensure to do the right thing first. The following time can be invested getting up to speed in order to do the things right, e.g. to improve speed of processes. In contrast to the principle of failing fast, doing things right will not help us to revert wrong decisions and recover from errors swiftly. Instead, it will help us in digging our hole deeper faster.

Meme
[2]

It does not matter how fast you can type System.out.prinln() if using the debugger removes the necessity for it.


Sources #

[1] - debmillswriter
[2] - @elbruno, Twitter