As technologists, our most challenging -- and most important -- job is that of platform selection. By far, the largest chunks of code in what we deploy will not be code that we've written, but the dependencies and platforms that our code runs on top of.
We spend an embarassingly small amount of time talking directly about this work, though. Instead, we most often seem to approach it as a political problem: some sort of technology popularity contest. This is bad! Very bad! Technology selection isn't some dark, mystical art. And it's far too important a task to just leave up to the whims of the HIPPO (highest paid person's opinion).
Like everything else, this is a skill that we all need to learn, practice, and eventually pass on to others. So let's break it down and discuss some concrete approaches for tackling it. By the end of this quick chat, we'll all have a shared understanding of what the true goals are for technology selection problems, and how to analyze our options to best meet those goals.