Heavyweight Solutions — Deadly Cut 9

Hello! This article is part of a Death by 1000 Cuts series that shines a light on glaring software development industry failures. I'm confident you'll return to 1000 articles someday. Mike Tyson is known for his deadly punches. He was the undisputed heavyweight champion of the world from 1987 to 1990. One might think that heavyweight is good, it’ll pack a better punch. However, when it comes to software solutions heavyweight solutions are bullshit....

What Is the Tardigrade Effect?

A random thought emerged today. Is there a cognitive bias, similar to the Dunning—Krueger effect, but for degrees of weirdness? I couldn’t find any, so I decided to coin one. Behold, the Tardigrade Effect. The Tardigrade Effect A cognitive bias in which the weirdness of a subject is inversely proportional to the observer’s knowledge of the subject. The more one knows about a subject, the weirder it seems. The less one knows about a subject, the less weird it seems....

A 21 Irrefutable Laws of Leadership Book Review

I have a tenuous relationship with leadership. The role of the President of the United States of America comes to mind when I think of high-stakes leadership. When I peer into that role, I wonder how narcissistic one must be to believe they are “the one” to lead well over 300M people to a better quality of life. I’m acutely aware that people will lose their minds without a disciplined temperament and believe only they can “fix it”....

Learn Software Architecture

What Will You Learn? What is software architecture? Why is software architecture important? What are the use cases for software architecture? What are the less suitable use cases for software architecture? What are the most common types of diagrams? What are architectural constraints? What are the most common types of technology architecture? Where can I learn more about software architecture? The Basics Let’s review technology-oriented architectures with a focus on software architecture....

How Do I Decompose a Problem?

Introduction Problem decomposition is a technique that breaks down complex problems into smaller subproblems. It’s widely used in computer science, engineering, and mathematics. Breaking down a problem into smaller parts simplifies the understanding and resolution process, helps us recognize problem elements and interconnections, and enables prioritization and tackling of subproblems. What Will You Learn? The fundamentals of problem decomposition. Steps to effectively decompose a problem. Types of decomposition methods. Examples of problem decomposition....