I recently read a great phrase:

“We have only two ways of doing things - the right way or the easy way.”

It is thought-provoking cause it leads to the following questions:

Which one will you choose?

or

Under what circumstances will you choose the easy way over the right way?

The answer is difficult when the right way is hard and the easy way is wrong. Let’s just talk about things in our daily work.

We know unit tests are important for software applications but we also know how time will be consumed if we have to write all the necessary tests. “Project manager requires this to be launched in one month, lets skip some unit tests for now and add them later” - such a tempting advice! I never had gone through situations with promise fullfilled - missing tests will never be added and everyone seems to “forget about it”.

We know Javascript is “easy” to write but hard to write in a right way. Shall we have a training before moving onto this language? “No, we don’t need that. We only need a simple frontend page.” One month later, we get more and more requirement on the frontend side. The bad JS code becomes a burden to us and we have to rewrite it.

Everyday when each choice is in front of us, we should ask ourselves with this question. Our life is changed by every single choice and in the end, we ourselves are made up with these choices: the right ones and the easy ones.