“Facebook is as much sociology and psychology as it is technology” – Mark Zuckerberg
In my previous article, Unitary vs Integral Understanding, I delved into how we understand a part of a system in terms of how it relates to the rest of the system. To recap, Unitary Understanding is understanding the part by itself, abstracting the rest of the system, e.g. “i = i + 1” understood as a unit means nothing more than “increment i by one”. Integral Understanding would require us to see how that sentences interacts witht the rest of the code, so for example that sentence could “move a loop forward”.
“How”, “What”, “Why” are three questions that are also helpful to see different facets of a system. A lot of what follows in this article might seem obvious to seasoned developers, but in my experience, these dimensions, because they’re intuitive, are often not adecuately explained to junior developers.