In the world of software development and tech startups there are a few rules of thumb that are widely known. For the purpose of this post let’s consider just one: that startups should always host servers on a service like Heroku, AWS or Digital Ocean, as opposed to operating a non-virtual machine yourself. The logic is that by outsourcing the work of running the server, you free up time to work on your core business, and avoid tasks outside of your core competencies. It’s a good rule of thumb.
But what is a rule of thumb, exactly? According to Wikipedia, “A rule of thumb is a principle with broad application that is not intended to be strictly accurate or reliable for every situation.” (link emphasis mine.) It is not reliable for every situation, which is often overlooked. To use a rule of thumb properly one needs to understand the reasoning behind it. I’ll return to rules of thumb in a moment.
Part of being a tech worker is talking to people who don’t understand what you do, e.g. a programmer working with a non-programmer. A strange norm has emerged in many workplaces where the non-technical workers fawn over the technical workers, and act almost worshipful towards them because of their technical expertise. This is a harmful dynamic that leads to overconfidence on the part of technical workers.
When you combine this hubris with a rule of thumb like the discussed above, the consequences can be harmful to your business. Technical employees will make major decisions (“how should we host our servers? on managed VM’s!”) without properly considering the tradeoffs, because a rule of thumb exists that is widely accepted so there is no need to examine the tradeoffs. And since the worker never understood the rule in the first place they are both 1) not able to understand how to make the decision 2) confident they have made the right one.
I’ve also seen technical workers who have been “the smartest developer in the room” at their company for a long time forget how to talk to a peer who actually *does* know their stuff. When challenged on a point, they will cite their long history of working with clueless people who have make mistakes, which isn’t responsive.
If you’re about to spend a lot of money or time on something at work, don’t rely on rules of thumb. Understand the fundamentals of the decision you’re making and what resources are available to you. Understand the cognitive biases commonly suffered by software developers and how that causes companies to cargo-cult instead of being creative. Rules of thumb are popular because they’re usually right, but when one doesn’t apply to your business it is a chance for you to stand out and do better than your competitors.
Consider the example of Pinboard vs. Delicious (here comically referred to as ACME).
But where the projects differ radically is cost. ACME hosts their service on AWS, and at one point they were paying $23,000 (!!) in monthly fees. Through titanic effort, they have been able to reduce that to $9,000 a month.
I pay just over a thousand dollars a month for hosting, using my own equipment. That figure includes the amortized cost of my hardware, and sodas from the vending machine at the colo.
And if you see someone make a decision that breaks the usual rules, before you assume that they made a mistake, take a minute to consider the possibility that they made the better decision.