Systems design explains the world: volume 1
Fantastic article about system design... and the world.
Misfits and Glue Work
There were two groups of misfits:
-
People who maxed out as a senior engineer (building things) but didn't seem to want to, or be able to, make it to staff engineer (translating business problems).
-
People who were ranked at junior levels, but were better at translating business problems than at fixing bugs.
Group #1 was formally accounted for. People in group #2 weren't supposed to exist. Group 2 did Glue Work.
Centralized Control and flat hierarchies
The truth is, nearly every attempt to design a hierarchy-free, "flat" control system just moves the central control around until you can't see it anymore. Human structures all have leaders, whether implicit or explicit, and the explicit ones tend to be more diverse.
The web depends on centrally controlled DNS and centrally approved TLS certificate issuers; the global Internet depends on a small cabal who sorts out routing problems. Every blockchain depends on whoever decides if your preferred chain will fork this week, and whoever runs the popular exchanges, and whoever decides whether to arrest those people. Distributed radio networks depend on centralized government spectrum licenses. Democracy depends on someone enforcing your right to vote. Capitalism depends on someone enforcing the rules of a "free" marketplace.
When the control is explicit at least you can debug it.
Chicken and the Egg problem in technology
The defining characteristic of a chicken-egg technology or product is that it's not useful to you unless other people use it. Since adopting new technology isn't free (in dollars, or time, or both), people aren't likely to adopt it unless they can see some value, but until they do, the value isn't there, so they don't. A conundrum.
Main way to get around the conundrum: lower the cost of adoption, and to deliver more value even when there are fewer users.
25 years after the book, Joel Spolsky wrote Things you should never do, part 1 about the company-destroying effect of Netscape/Mozilla trying this "They did it by making the single worst strategic mistake that any software company can make: they decided to rewrite the code from scratch.
Even if it seems like incrementalism will be more work... it's worth it. Maintaining two systems in parallel is a lot more expensive than you think.
Innovator's Dilemma
What makes the Innovator's Dilemma so beautiful, from a systems design point of view, is the "dilemma" part. The dilemma comes from the fact that all large companies are heavily optimized to discard ideas that aren't as profitable as their existing core business...they still had lower margins, so competing with them would still cannibalize their own high-margin products, and worse, now the competitor has a head start
If you're a startup and you think you have a truly disruptive innovation, then that's great news for you. It's a perfect answer to that awkward investor question, "What if big company decides to do this too?" because the honest truth is "their own politics will tear that initiative apart from the inside."