銊淬厠銊广厙馃寘

Why?

It is a good question.

Richard Hamming in 鈥淵ou and Your Research鈥 advises to ask 鈥渨hy you do what you do, does it really matter?鈥. Researchers who do ask this question, who focus on purpose of their work and it鈥檚 usefulness, eventually create great value. The ones who don鈥檛 will achieve nothing. Similarly, Facebook offices on the wall have 鈥淔ocus on Impact鈥. In other words, you should know why you do what you do and how it affects your objectives.

The most shocking question I was ever asked, was 鈥淲hy did you join Facebook?鈥. It is an ice-cold shower when asked suddenly by a manager of your manager of your manager in your one-on-one. Mind is racing through memories, projects, motivations. It linked years of work and life in an instant. All in order to give a coherent clear answer.

David Goggings confronts it all the time during his intense routine. In the moments of a physical exhaustion, a question 鈥渨hy am I doing this?鈥 will inevitably pop-up in your head. You mind will come up with reasons on why you should just stop and take it easy. It is only up to your willpower take a hold of it and press on.

Viktor Frankl, a Holocaust survivor and legendary psychologist, established a field of logotherapy whose sole foundation is to help people to find a purpose, a meaning in their life in order to attain fulfilling and happy life. The power of having an answer to why are you living can drive through toughest times.

鈥淒esign Patterns鈥, a classic of Object Oriented Programming, makes a great deal of attention to why do we need each of the patterns. These things are complex, it takes effort to learn them, it is easy to misuse them, it is easy to confuse them. There better be a good reason to have these patterns.

鈥淏PF Performance Tools鈥, a guideline of in-depth observability and monitoring tools in Linux tool-chain, before diving into details on what these tools are, how to use them, and how they work, it first emphasizes that to make a good analysis, you need to start with the question not the answer. What are you trying to analyze and why.

Even in my own writing, when I talk about running, I ask myself 鈥渨hy do I run鈥? It is a good opener. Focusing on it leads to a good coherent story, I would not be surprised if writers focus on this. Think of a bad story, chances are it is either does not have clear answer to why what is happening is happening. It is also possible there is an answer, but you find it dull or oppose to. The best stories are crystal clear on why things happen the way they do. Going meta, author himself should know well why his readers follow the story, what do they think at any moment, why they should following. It is fundamental to coherence of any narrative.

If you have a machine learning system, question of why specific prediction has been made, also known as model interpretability, is the hardest part of the model at hand. So far, only most simplistic models can be fully understood, meanwhile the most powerful ones are completely obscure. Same goes with any complex system, observing what is the state of a system is considerably easier than understanding why this state has been reached. Working knowledge of why gives a power to influence a system to drive it to the correct state. It is a power of change.

In technical terms, why establishes causal links. It lists causes that lead to a specific state. It lists outcomes that one is trying to achieve. It is cornerstone of scientific thought. But is there an objective definition? Hardly so. Best bet for even notation of why, a concept of causality is tied to concept of time and is a rabbit hole of physics and philosophy. In practical terms, as realized by physicists themselves, it is certainly real and very much important.

In software engineering, there is a concept of 鈥渜uery鈥 鈥 a code, a procedure translated into machine language, that retrieves some data, called query result, from data source. Could be an API or a database query, in which case it is typically SQL. So queries are executed on computers, and thus as any other programs, they require memory, network, and computing resource called CPU time, or even GPU if you ask something about images. Now, some queries are easy, they require less resources and can be done quickly. Some queries are heavy, they require a lot of memory and computing resource. If you could sort all things human can say (code) and think about (process, compute, memory) 鈥 then why should be a heavy one. Just a thought.