Only Humans Need A Balanced Diet

Day three of my winter adventure brings us a metaphor about food.

If you eat steak every single day, you’re missing out on some critical nutrients. You may be living like a king (if that’s what kings eat every day), but you’re a whole bucket of fruits, vegetables and breads short of living like a normal human. The same would apply if you just ate bread, or if you just ate green beans. All of these things are great part of a larger diet - but it’s that larger balance that produces the healthy results you want.

Of course, when you’re solving a technology problem or designing a software system, it’s sometimes tempting to do the same thing. But software problems aren’t human problems, and technology doesn’t need to eat a balanced diet to keep working. Just because you can design a solution that uses 10 servers, 3 operating systems, 4 programming languages, 5 APIs and 2 network protocols doesn’t mean you should - and it doesn’t mean you’ll have a solution any better than if you’d kept it simple.

In fact, most of the time that you do this you’ll have something too complicated and interdependent. So just remember - even though your users are humans, their tech problems aren’t. They might need a balanced diet, but their software doesn’t.

Hound automatically reviews Ruby, JavaScript, and CoffeeScript code in your GitHub pull requests and comments on style violations. It is free for open source repos and $12/month per private repo.