The long-term success and evolution of many companies balances on the effectiveness and versatility of their software architecture and the teams that design, implement, and deploy it. To continue to find success and evolution within your own role you must at some point become as skilled in the breadth of what software architecture solutions can include as you are in the depths of programming knowledge that you already have. The more involved you are with software architecture—and even if you don't carry the title of architect you can bet you are involved—the more technical breadth becomes critical. You must understand tradeoffs, technology options, and engineering best practices, plus have the leadership chops to execute your vision.