Categories
Business

Coming up with a business idea, part 1

I have zero illusions about my ability to intuit some great idea, even less so in my ability to do it on demand. Thankfully, Eli Goldratt wrote about how to systematically approach generating ideas for any domain. The goal is to come up with a Mafia Offer: an offer so good my customers can’t refuse. […]

Categories
Business

What is a business?

I want to think about a business as a system. Is there a system representation that is valid for every business? Here’s my current attempt: Leads, Market Needs, and Raw Materials enter the system. Throughput exits. The better the system is at turning Leads, Market Needs, and Raw Materials into Throughput, the better the business […]

Categories
Business

Walking, Peanuts, and Systems

Enoch walked with God, and he was not, for God took him. Genesis 5:24 “God is going to reveal to us things He never revealed before if we put our hands in His. No books ever go into my laboratory. The thing I am to do and the way of doing it are revealed to […]

Categories
Software Engineering Talks

Talk Review: Residuality Theory – Barry O’Reilly

Residuality Theory Barry O’Reilly Summary Barry O’Reilly presents the problem as trying to determine what makes a good architect. Why do some architects succeed in conditions of high uncertainty yet others fail to find similar success? Engineers build ordered, structured, simple software and then put that software in a dynamic, unstructured environment. Barry defines Stressors […]

Categories
Shorts Software Engineering

The only reason we should trigger alerts

There’s only one reason we should ever trigger alerts: There is a failure or risk of failure we should act on. Everything else is just noise. It’s common to trigger alerts for non-failure situations or errors that require no action: In each of these situations, the alerts are just noise because there’s no action required. […]

Categories
Shorts Software Engineering

7 questions we should always ask when designing a service

Designing a service can be intimidating. We sit down with only an incomplete list of requirements, our wits, and previous experience. How can we have confidence that our design covers the given requirements, is flexible in the face of inevitable changes, and doesn’t miss large areas of risk? Start by asking good questions. Whenever I […]

Categories
Shorts Software Engineering

Use incidents to sell fixing technical debt.

Everyone says they want to fix tech debt, but, in my experience, almost no one really tries. Every developer at some point, probably If product owners and stakeholders can’t see the gain (or avoidance of loss) in fixing technical debt, we’ll be stuck with whatever random percentage of effort they set aside for it. Incidents […]

Categories
Shorts Software Engineering

Is every service a server in a microservice architecture?

“Service” and “server” are basically the same word, so it’s reasonable to question the difference between the two. Services are abstractions we use to discuss our architecture. Servers are the hardware we use to run our system. They overlap in different ways, depending on what we’re trying to accomplish. One-to-many; One service == Many servers […]

Categories
Shorts Software Engineering

5 reasons developers reject our “simple” suggestions during code review

Why do people bend over backwards to complicate simple logic and architecture? A developer complaining about code reviews Reviewing code can be painful. We set aside our work, switch into someone else’s context, and then put time into providing useful feedback. It’s frustrating when other developers reject our simple suggestions and fight to justify their […]

Categories
Shorts Software Engineering

What environments should your dev team have?

Depending on your team or the reference you’re reading, it can be easy to get confused on all the environments you need. There are no universally agreed upon names, and the same environment can be used in different contexts. To clear the confusion, here’s a pattern for how to think about dev environments. Your dev […]