Marco’s Rule of Software Stacks (Expanded)

On being the biggest user of a given technology.

Assumed audience: Software developers.

Marco’s Rule1 of Software Stacks says:

Never be the biggest user of a given technology. As the largest user of a technology, you will likely hit bugs, scaling problems, and limitations that other users do not.

My addendum:

…unless you’re willing to seriously invest in making it better.

Because while Marco is right, there are also some big potential upsides to bring the biggest customer of a given technology. It can afford you opportunity to influence direction and outcomes, to have your needs prioritized and solved. Being at the front of the queue is not a small benefit.

That comes with a few big caveats, though:

  1. You won’t earn the benefits of that opportunity unless you do invest. Depending on the project, that investment might be direct financial outlay (paying for service) or it might be in the form of contribution (e.g. with open source projects). The upsides may be real, but they are not free.

  2. Regardless, those upsides come with increased exposure to risk. That further increases the need to invest in the project, to mitigate those risks!

  3. The governance of the project in question can make a significant difference in the ratio between risk and opportunity. If the project does not afford you a voice, or if its processes mean you cannot solve problems fast enough, being the biggest user is all downside.

Notably, this is just as true for a top tech company as it is for an indie developer!


Notes

  1. I am naming this after software developer and podcaster Marco Arment, who is the first person I heard articulate it quite this way. He has stated and elaborated this rule on his podcasts (Under the Radar and Accidental Tech Podcast), but as far as I know he doesn’t have it written down anywhere, and I don’t think anyone else has named” it this way. ↩︎