Its hard to explain what I do. Even my closest friends and family members really have no clue. That’s because, in general, people are pretty clueless about how software gets made. Sometimes its made because some dude is sitting in a cubicle somewhere coding away. And when I was a programmer, people could instantly relate. But good software is rarely coded, its designed. But before it can be designed, it helps to know what are the constraints, the variables, the environment in which this software is to be built upon.
Software is rarely built from scratch. But there are times when you just have an idea and you just start building. But even then, coders will look to their past. In fact, many of the best programmers “steal shamelessly” from projects they worked on before. Why? Because it will save them time. Yes, time, the most precious commodity of them all. Every second, the same as every second forthcoming or prior, but never to be seen or heard from again. And its easy to translate time into dollars. We make that compromise every day. How much of our lives are we trading for a quality of life we hope we will enjoy? But in the end we hope whatever money we spend, will translate into more time later. Its an investment in that quality of life we are counting on.
So architecture, good architecture, is about trading dollars for time, if possible, but at the very least, if we can’t do that, we hope to target those trusted, well tested things in our life that we have used before and use them again. And the best architects know exactly what those trusted, well tested things are. The bad ones only think they know.






