In Greek mythology (for those who skipped this in high school or first year university), inspiration for great works among men was attributed to the Nine Muses – depending on the myth that you subscribe to, they were either the daughters of the ancient king of Macedon or Zeus. Either way, there was at least one to blame when your creativity or passion had faded.
So it was for me with this blog. It literally distilled into a simple sentence: “What the hell am I doing this for?”
Since making the career-change in 1999 to IT, I’ve been passionate about best practices in software development and delivery. I studied hard, worked hard and took on risky roles to advance the principles I believed were the state of the art. As expected, I encountered intransigence, ignorance, resistance – just about any “-ance” you could imagine, along the way. And yet, I persevered.
This all began to come undone last summer when I delivered a session at the Agile 2008 conference that expanded on a blog post about my early findings about who was teaching best practices in Canadian CompSci and SoftEng programs (answer: a handful). It was put to me then and there by the attendees (almost entirely CompSci professors and department chairs) that this isn’t their role, and never will be. Except if the private sector wants to throw some cash at them.
It hit me in the gut to hear this reaction from academia, especially those who were at an Agile conference. In retrospect, I shouldn’t have been so surprised.
What hastened my disillusionment with my passion came as I took on engagements in my role as a consultant with Microsoft here in Canada (MCS). No matter the size of the customer, it was a rare day for me to see any evidence of folks actually caring about their work. I did meet many talented people who wanted to do better and knew they should be doing better – but almost to a person, none felt empowered to do anything about it.
In some cases, these people were responsible for the inner-workings of significant companies – the kind that a lot of people would notice if it went ka-boom. It probably won’t raise an eyebrow from those that have been there that most of these places run on a fragile matrix Rube-Goldbergian systems, stitched together with brittle code. Failure isn’t a matter of if, but when.
Ironically, and infuriatingly, I’d often be asked by these customers to give them guidance on how to be best practices compliant. Some would listen thoughtfully, some would challenge things, and in the end a few would actually take the time to do things properly. More often than not, my reports would just end up on a heap with those of my predecessors, never to be read again.
However, it wasn’t just customers who were indifferent to the practices I was passionate about: Within Microsoft Consulting, there is similar indifference, or perhaps just a misunderstanding or lack of knowledge. Either way, it has had the effect on me of feeling that eight years of my professional life needed to be erased because there was no place for skills like TDD, continuous integration, agile/iterative/lean project governance and delivery, etc. Sure, there are folks who do know this stuff well and talk it up, but it is extremely unlikely that you’ll ever encounter a project that uses any of those skills.
My nadir came during a project earlier this year where I and two other consultants were unusually engaged to develop a custom SharePoint solution for a customer that was overly-ambitious and in some respects needlessly complicated by the fact that the sponsor had politically tied themselves to deploying a solution that involved legacy system integration. The trouble began almost immediately as we were boxed into a time-frame we had no hand in setting, and as a result, churned out some really embarassing code that is now in production.
All of my training, all of my skills and instincts told me it was a bad situation, and yet our team leadership drove it ahead anyway. I rasied daily alerts on the status, which were by and large ignored. We blew through arbitrary deadlines, and by the end, I had put more time into the project than I’d ever get credit for. I had done things I had promised myself I would never do again in my career. I was professionally embarassed.
By the time I had started the project, I had already lost a lot of the zeal I once had for reading up on the latest techniques in technologies and best practices. By the end, I was exhausted, angry and ready to toss in the towel. It seemed to me that what I thought was best practices really didn’t matter much to anyone and that I was being the fool for struggling for so long. I seriously began to consider leaving IT and opening up a garden centre or auto repair shop in some small boondock town. I’d had it.
Then, quite by accident, I came across a blog post that reinvigorated, or I should say, “reawakened” my passions. This will be the topic of my next post…