The conversation

Lessons learnedExperience excerpt · English

I always find myself sitting down to read Out of the Tar Pit [0] at least a couple times per year

I always find myself sitting down to read Out of the Tar Pit [0] at least a couple times per year. It has been—and continues to be—one of the most seminal texts in my career. I still remember the first time I read the following passage on complexity, and how it just turned on all the mental light bulbs: >> Essential Complexity is inherent in, and the essence of, the problem (as seen by the users ). >> Accidental Complexity is all the rest — complexity with which the development team would not have to deal in the ideal world (e.g. complexity arising from performance issues and from suboptimal language and infrastructure). >> Note that the definition of essential is deliberately more strict than common usage. Specifically when we use the term essential we will mean strictly essential to the users’ problem (as opposed to — perhaps — essential to some specific, implemented, system , or even — essential to software in general ). …

Original discussionThree Laws of Software Complexity138 source comments · at import
2

Community replies 0

No community replies yet. Add your perspective.

Replies from the source 2

Direct replies available in this import. Original-language excerpts.

VI

It's comments like this that are the reason I come to hacker news. Now what do we do about it? What I'm doing about it is http:/github.com/civboot/civboot and http:/github.com/civboot/civlua

Full original
CM

This rings so true. I noticed a consistent level-up in my abilities once I started to seek the essence of the problem. I ask myself: “I start with this information. The desired output is X. What is the essence of the data transformation that takes me from the input to X?” When I boil down the task to its nature as a data transformation, the solution flows from my understanding of the problem, and I’ve found that my choice of tools flows transitively from there pretty easily. The problem is “isolated” from the software as you said which makes it so much easier to reason about things. I sadly have not gotten much traction when I try and advocate for this mindset in our industry. As an aside: It reminds me of a funny point from secondary education. Did you take AP tests in high school? If you did, you might remember as I do a consistent refrain that teachers used to beat into students prepa…

Full original
Continue on Hacker News

Respect different perspectives. Share concrete experiences.

Sign in to post, reply, repost, and quote.