Its been a while….perhaps a lifetime
...since I was here last. I'm sure my subscriber count has dropped significantly since November due to my lack of new posts.
Some may wonder what has been going on lately. If not, then go back to Facebook and find someone more interesting or at least less verbose than me. :)
Okay, great, for those of you still here, this is my attempt at an explanation for my absence from this blog for these past few months and an update on where I stand today:
Around October, I got busy with my work at Telligent on the "#1 project in the company". As many of my friends know, I can be a bit obsessive towards my work, especially when I am properly motivated and this project was no exception. As with many previous projects, I spent a ton of time on and off the clock working on things relating to our implementation of these sites built on Community Server 2008 (2008 beta, 2008.5, and 2008.5 SP1). The project was great, because it involved multiple sites broken out by language/culture and had many extensive modifications to the default Community Server product.
This was a big project; it involved very high scalability, required custom modules, data-extensions, forum/blog data migrations, enterprise search integration, and other work that involved collaborating with our fluctuating team of 4-8 developers. Not to be outdone, our client's entire company of business people, IT personnel, designers, and project managers were engaged from top to bottom and everyone had a stake (and often a say) in the project. My hours were long, but the work was challenging, my coworkers were exceptional, my ability to impact the project and team was great, and I was continuing to grow my knowledge in many areas of technology including Community Server, ASP.NET, Sql Server, SSIS, performance/scaleability, Debugging, Lucene.NET, and many other topics in the process.
This project grew and evolved much from those early days until we released in November/December and began on the next iteration. Throughout the end of 2008, I spent my spare time at home creating 3 Graffiti sites for myself, for my wife, and for an unnamed side project I've been working on. Also, I got acquainted with JQuery a bit, built a few ASP.NET MVC sites, and watched about 80 hours of PDC 2008 videos. Subsequently, I did some playing around with Microsoft's Azure Services Framework and started to grok cloud computing and Microsoft version of this concept.
Somewhere in there, I found time to volunteer as a coach on my son's basketball team, even though my wife was constantly busy with work and going back to school for her Master's degree. This coaching gig was perhaps my most rewarding project yet.
In 2009, the new year started off with a lot of planning and cleanup at work, which led to an opportunity to revamp our development processes around Software Configuration Management, Release Management, and QA. I had used Subversion and other version control systems for years, and I understood the value of setting up Cruise Control for continuous integration. Creating branches & tagging releases were habits that I now performed without thinking - it was all just part of the tools used for development.
In the gap between iterations, we reassessed the project, and where we could improve. I realized that although we knew the mechanics, we hadn't truly understood the discipline and the philosophies required to use these tools effectively to ensure developer productivity, to ensure changes to sourcecode within a project remain isolated, and to ensure releases are purposeful, repeatable, and contain only the changes you want, not just everything that happens to be in Trunk. In short, I realized how many assumptions we made that needed to be reevaluated. Luckily, I was tapped to spend the time to research & improve these weaknesses and turn them into strengths.
The short time I spent educating myself on Software Configuration Management concepts and their application was invaluable and is something that will help me throughout my career. These skills and concepts empower us to delivery better quality software no matter if the team has 1 developer or 100. Sadly, over the 15 years in technology, I don't recall ever hearing developers talk about their Branching Strategy, Codline Policies, or have a project lead define basics such as who can perform trunk-merges, and when/how should branches be created, or what the naming conventions should be for those branches & tags. We just did our development and reacted when necessary. Isnt that the Agile way?
Alas, I digress.... Suffice it to say, I learned a ton, directly applied it to our team, who rejoiced, and we began collectively kicking butt on the next iteration of the project.
So, in the midst of all this personal growth, incredible work experience, and smattering of entrepreneurial activity, I became so focused upon the work, my toy projects, my family, and my plans for how to achieve global domination that I was completely blindsided when one morning Rob Howard came to my office in a crisp formal executive outfit with a member of our finance department and asked to have a closed-door meeting in my office.
First, you have to understand that at Telligent, it is our culture that we all wear shorts, jeans, flip flops, t-shirts or whatever makes us comfortable enough to crank out outstanding sites with incredible code in a timely fashion. Occasionally you would see people dressed up, but it was typically only for a meeting with a client, otherwise everyone just gave the Telligenti a hard time and joked that they must be going job hunting, or perhaps attending a funeral.
So, anyways, Rob shows up, very nervous and pale, launches into his brief story of economy woes and so forth, and how unfortunate it is that he must reduce the workforce, yada yada yada - all the while I'm sitting there thinking....didn't I just stay here until 8pm lastnight working on this project?!?! Didnt I put my heart, personal/family time, and my entire future into this job? Why didnt I see this coming?!?!?
The truth is that I didnt WANT to see this coming. I didnt WANT to see reality. I knew the stock market, I knew about Jive's 30% cutback in staff. The warning signs were everywhere. My mom even works at HUD and had repeatedly warned me about the foreclosures and challenges she was seeing firsthand across this country. I just kept my head in the Azure clouds and blissfully ignored my cynical heart thumping out distress calls in multi-threaded unmanaged code.
I drove home in my 2 month old 2009 Honda Civic Hybrid, in a daze not even paying attention to the 10am Dallas traffic as my box of belonging clanked & slid back and forth in the back seat. The conversation with a hastily called head-hunter still ringing in my ears and one question running through my head.... How will I tell my wife?
My wife was incredible. She took it in stride, said a few expletives about Telligent, and began to focus on the future and helped me clear the cobwebs. I spoke to some of the other ex-Telligenti, and participated in the subsequent explosion of interest on Twitter. The people in the Twitterverse as well as the local community response were great! Shortly I was sending my resume' to several developers & thought leaders within the Dallas/Fort Worth .NET community, and began working on my future.
At this point, it doesn't matter why Telligent had their Reduction in Force - I am out and I need to come to grips with that fact.
The upside is that it wasn't personal, wasn't because of me or my work, I was just a salary & an office to them which they needed to eliminate. In fact, later I discovered that I was neither the first, nor the last who received Rob's earnest & dour talk that day.
Its late now, early Monday morning and only 7 hours before my first interview. The anger & angst is gone and I'm giddy with excitement about the future. As much as I hated to leave Telligent, I love new opportunities, and look forward to meeting some great people this week as I begin to interview again. It feels a lot like when I started in software development; the possibilities are limitless and the opportunities are exciting, I just cant wait to get started with my job, company, and project so my obsession with technology and the comradery with a great dev team can begin again.