The care and feeding of software engineers (or, why engineers are grumpy) An Article by Nicholas Zakas humanwhocodes.com We do say “no” very quickly, not just to designs, but to everything. That led me into thinking about the psychology of software engineers and what makes us the way we are. softwaremakingprocess
Trees and graphs Show image 0 Show image 1 A tree is a kind of graph, but a graph can be considerably more complex than a tree. I have reason to believe, which for brevity’s sake I will treat elsewhere, that the most complex class of processes and structures we humans can consciously prescribe, reduces mathematically to a tree. A tree has a top, bottom, left and right. Its branches fan out from the trunk and they don’t intersect with one another. They are discrete, contiguous, identifiable objects which persist across time. Trees are Things. Software and websites, however, reduce to arbitrarily more complex structures: they are graphs. A graph has no meaningful orientation whatsoever. No sequence, no obvious start or end—at least none that we can intuit. It is better considered not as one Thing, but as a federation of Things, like the brain or a fungus network, or perhaps a composite artifact left behind from an ongoing process, like an ant colony or human city. Dorian Taylor, On the "Building" of Software and Websites A City Is Not a Tree networksthinkingmath