The Law of Unintended Consequences

I want to share a couple of stories, both via the Quartz Daily Brief email newsletter.

Car headlamps are good for cannabis. Gangs are nicking LED bulbs from luxury vehicles to use as growing lamps.

What to do about a problem like that? Quick fix: legalise weed, save the LED headlamps!  

Not so fast:

Legal weed leads to cheaper heroin. Mexican pot farmers stung by cheap US competition are now producing opium instead.

This sort of thing happens all the time in IT too. There’s a problem, a quick fix is hacked together, and now we have two problems: the original problem that didn’t quite get fixed, and the new problem of maintaining the fix. 

If you have an issue, and your first reaction is “I’ll just write a quick script to fix that”, step away from the keyboard and think again. That quick script takes time to write, and then more time to rewrite properly once you figure out all the edge cases and conflicts. Then it takes even more time to maintain and update over time. 

There’s a big opportunity cost in doing all that work. Think of what you could (or should) be doing instead. Prohibition pushed good scientists out of oenology, in effect jumpstarting food technology. Everything we do has consequences, and most of those are unforeseen.  

Think before you script.