Dive 44: What if your house stops working?
Boss: How much time do you need to develop this feature?
Me: 2 days.
Boss: 2 DAYS?!
Hey, it’s Alvin!
That was an exchange I had with my boss many years ago, when I was still a junior software developer.
We had a website with a form for collecting user information, and he wanted us to start collecting address information. It meant we had to add some new fields to the web form like street number, street name, street type, post code, etc.
So, he asked how much time I needed to get it done.
This is like a common question I see from software users: “I asked for this feature months ago, and it’s still not implemented. What’s taking so long?” Maybe there are higher priority features. But, often, a feature that seems simple to implement, just isn’t.
The devil’s in the details.
I explained to my boss that I needed to:
Update the database to store address data and the contents of the dropdown list for the street type.
Add code to pass the contents of the dropdown list to the web page.
Add code to validate user inputs (e.g., no letters in the street number).
Add the new address fields to the web page. This was probably the only task the boss had in mind.
Add code to pass the address data to the backend on form submission where it’s saved to the database.
Add tests for all the above.
Given I was a junior still learning the code base, I still don’t think 2 days was an unreasonable estimate.
The problem was that he wasn’t familiar with the technical side of his business. He thought I could get it done in a couple of hours.
I’m not surprised by his reaction. He knew nothing about what modern software development entails. In fact, he’d often talk about how back in his day programming was much harder. He reasoned that 20 years before we met, when he was a software developer, he didn’t have all the fancy tools we have today.
He’s right. He didn’t.
But the job of a software developer today is not easier because our tools are more advanced. Since the products we make today are ALSO more advanced. It’s the Red Queen Effect - an arms race in the advancement between the tools we have and the products we make. We’re not using today’s tools just to build standalone programs that run on a command line. Static HTML websites from the 1990s don’t cut it anymore.
Nowadays we’re also building fancy web pages with animations, translations, and transitions that map to complex processes in the real world. Software today interacts with other software in ways that can be unpredictable and hard to debug. But all this complexity is hidden behind user-friendly screens. So, for those (like my former boss) who only see the screens, it’s easy to underestimate the effort needed to make software work.
This also affects you as a user of technology.
The user interfaces of technology are meant to be simple for you, so you don’t have to think about what the tech is doing behind the scenes. That way, you can focus on getting your own job done.
But this also has a drawback.
If all the complexity is hidden from you, then so is all the risk associated with that complexity.
A simple example would be a smart home device. Think: smart thermostats, smart locks, smart lights, and smart coffee pots - all tied to a smart home hub that coordinates everything for you. They’re meant to make your life easier. Everything can turn on or off for you in just the right way exactly when you want them without having to lift a finger.
What about the risks?
What if your smart home hub just stopped working one day? Would you be locked out of your own home? Could you still turn your lights on and off? Consider that just last week, Amazon shut down all of a man’s smart home devices after he was falsely accused of racism.
Maybe you don’t use Amazon. So, what if the company that runs your smart home devices just stops its operations? That’s what happened in 2016, when a company called Revolv, stopped supporting its smart home hubs when it was acquired by Alphabet, the parent of Google. A customer literally said, “On May 15th, my house will stop working.” That’s terrifying.
These are just a couple of examples of risks hidden Below the Surface of a seemingly easy life.
This got me thinking…
Do you think life is easier today than it was 100 years ago?
I think most people would say, “yes.”
We don’t need to draw water from a well anymore. We have plumbing.
We don’t need to grow our own food anymore. We have farmers.
We don’t even need to go to the store for groceries anymore. We have food delivery.
But do you know all the details of how plumbing, farming, and food delivery work behind the scenes?
I think most people would say, “no.”
In fact, there are articles that show how many American children today do not know where their food comes from. Their best guess might be that it comes from a grocery store. No, chocolate milk does not come from brown cows. Yes, beef burgers do come from cows. No, potato chips are not “vegetables.”
Life is just so easy in some parts of the world that people no longer need to know where their food comes from. The risk is that you might be consuming stuff that’s hazardous to your health. And you wouldn’t know better.
Likewise, life can be so easy that your house can automate most of your morning routines. The risk is that you might get locked out of your own house.
A decade of software development made me realize modern life might seem easier, but it’s only because the insane complexities are hidden from users. This is a dangerous delusion because it leads to the false assumption that things are easier and simpler than they are.
Life might seem easier now, but it’s not simpler. If anything, I feel like the world is getting more complicated and complex… Below the Surface.
My most practical suggestion is to do your best to learn about how things work.
Because if you don’t, you lose sight of the risks hidden in those complexities.
The devil’s in the details
…details that are conveniently hidden from the user.
I hope you enjoyed this dive Below the Surface of hidden complexities in the modern world. Reply to belowthesurfacetop@gmail.com if you have questions or comments. How are you keeping up with the complexities of the modern world? I’d love the hear from you.
Thank you for reading. Have a wonderful day. And I’ll see you in the next one.