Throughout our careers, we’re told that we’re awesome.
Everyone we interact with tells us that we’re magicians making software appear out of nowhere. Every day we perform superhuman feats of software development. Maybe it’s because we work for people that are not very technically inclined. What we do on a daily basis is nothing short of magic to them. Or maybe it’s because these people were trying to motivate us to do better, do more, or simply do their bidding.
In any case, sooner or later, some of us start believing the hype. We begin to think that we might, in fact, be some sort of code slinging wizard. Every year, or so, we get a decent raise and a huge bonus. Eventually, we start getting promoted: first a senior engineer, then a team lead, next principal engineer and eventually architect. This only helps to reinforce the belief that we are in fact the gods of the programming universe.
All of this continues for several years and we keep buying into the idea that we are the awesome-est of the awesome – oozing awesome sauce on everything we touch. By this time, our head has grown so much that we can barely squeeze it through the door of our swanky corner office.