There are design patterns, algorithms, or techniques that are highly dependent on the agents that execute those patterns. The recent boom in neural nets in artificial intelligence was only enabled by the rise of fast GPU’s that run the back propagation algorithms. Sophisticated breakthroughs in sports have been enabled by more performant athletes who can execute complex strategies. Without some requirements on the executors, none of these things would work.
There is a design pattern that is highly agnostic to the executors, yet produce meaningful or effective results. This is particularly interesting to me because by working well DESPITE the dependencies, it gives more robustness to the design pattern itself.
I first discovered this pattern when reading the DynamoDB paper, which is a computer science paper that boasts incredible database performance by organizing machines in a particular topology and having them talk to each other in a special way. One of DynamoDB’s biggest selling point was that you didn’t have to buy specialized hardware to achieve a highly available and consistent data store. As the original paper phrases it, “Dynamo is run on standard commodity hardware components that have far less I/O throughput than high-end enterprise servers.” This was a big deal when companies had to purchase specialized hardware in order to achieve the durability and availability they wanted. Not with DynamoDB. The design pattern of how the different machines operate work just as well as the specialized hardware not running the database software. Ever since reading the original paper, every time I recognize a similar pattern, I say “this works on commodity hardware.”
One of McDonald’s breakthrough innovation in the rise of business franchises is their ability to produce consistent quality burgers and service through untrained labor. When you want to open a normal restaurant, you often have to hire specialized workforce like a trained chef or an accountant. Not McDonald’s. With their trademarked business practices that they share with anyone looking to start a branch of McDonald’s, they can train untrained labor to produce very, very consistent meals and restaurant experience.
It was a revelation to me that McDonald’s is in the business of selling business blueprints. McDonald’s convinces entrepreneurs that starting a McDonald’s is the most profitable business they can start. With minimal skill and labor, McDonald’s Corporation provides all the support, guidance, and materials you need to successfully run your own branch of McDonald’s. You don’t need any special personnel, just someone who graduated from their local community college and some gumption to take on leading the business.
Good vs Bad Managers
I’ve been asked a few times if I ever want to be a manager. I reply that I’m a good peacetime manager, but when shit hits the fan, I don’t know if I’ll be able to step up. I also note that I really like working with competent people and can get things going if everyone likes each other.
That’s a difficult ask, considering that most managers don’t hire their engineers, they’re more likely to inherit them. Managers also have very little say on who gets along with whom or who is a good engineer. A good manager build products and manages the team without the need to have a highly specialized or educated team. They tend to produce those players instead of acquiring them. Good managers enable mediocre engineers to produce stellar results. Good management styles works on commodity engineers.
If you ever coached young athletes like I did, you’ll understand how to work with the athletic limitations of your team. In soccer, for example, asking your 12 year old players to make shots outside the penalty box is a no-go when they can’t even kick a ball that far. Developing a strategy becomes highly dependent on the executors of that strategy, and when you don’t have those executors, you have to develop strategies that work on commodity players. Some of the best coaches I’ve seen in the community soccer league are ingenious coaches who develop strategies that you won’t see in the World Cup, but works tremendously on 12-year-olds who only show up to practice twice a week. Dumb stuff like “kick the ball above the goalie because he hasn’t hit his growth spurt yet” sounds really dumb and slightly mean, but I’ve heard similar statements on the playing field before.
Also literally watch any sports movie. Coaching’s all about playing to each players’ strength.
There was a case study surrounding an intervention to reduce child mortality in rural Africa. Being born prematurely is one of the biggest sources of premature deaths. One way to save these babies is to keep them in an incubator. Western hospitals would sometimes donate these incubators to African hospitals that end up being neglected because it required a skilled technician to fix any issues.
The world of philanthropy recognizes executor limitations and celebrates the frugality of things to work on commodity hardware. Take this water generator for example:
Or this $1 microscope. Often these philanthropic projects boast the effectiveness of certain techniques without caring about the materials of the labor required to produce the results.
Hopefully your tour of some design patterns will help you recognize robust systems that are agnostic to the executors of the pattern. This is an interesting quality to discuss when making design or implementation choices, as it can make or break you in certain cases.