home blog contact

Why unintended fraud?

It's a fun name.

It encapsulates a concept I believe we are all guilty of from time to time, where we would take a shortcut in order to accomplish (or get rid of) a task faster, instead of truly understand the concept behind it. The reasons behind it could be many: not having time, being lazy, thinking it'll take forever, etc. Many times it leaves you with an uneasy feeling of "I know this works but I don't know why", possibly coupled with a touch of "I don't like the fact that I don't take time to understand the thing, but I won't right now anyway".

It is my experience that a lot of the times, it takes two seconds to actually learn it. Two seconds of works after 10 years of "should I do it or not".

I have the perfect example to illustrate it: dilution.
Just in case, dilution is "the process of decreasing the concentration of a solute in a solution". Like when people put water in their coffee when it's too strong.

Picture young me in highschool, in chemistry class. We learned about dilution, from theory to practice. I mastered calculating how diluted X is based. I blindly followed the experiences' instructions. My grades were looking great however if you asked me the definition of dilution I don't think I would have been able to answer you. Until one day, at least a year and a half later, as I was putting water in some solution I had an eureka moment. Such a long time to understand such a simple concept, yet it took forever.

You could argue that I don't need to understand it as long as I can use it, but I'll argue the contrary. The fact is once you understand it you don't need to remember anything, you know how it works you can re-create it effortlessly, it doesn't live in the same place in you, it's not a memory thing anymore.

I think those moment happen a lot in software engineering.
Hopefully this blog will help me stop for a second or two when I'm guilty of the above to investigate a topic. I'm hoping forcing myself to write about it will have two huge benefits:

  • if I cannot write the post, it probably means I don't understand the thing well enough
  • writing will help me remember (we all know that's how it works from writing cheat sheets)