After more than 14 years working on software projects, of which more than 12 years at Microsoft as program manager, developer, and tester, both as an individual contributor and as a lead, I decided to start this blog in order to share opinions and provoke discussions on topics related to creating and shipping great software.
I expect most of the posts to be on managing processes and the people who make software happen – from planning, to designing, implementing, testing, releasing, and supporting the software. I find the management aspect of software development to be incredibly interesting and challenging. While at a more granular level we understand well how to accomplish a number of important tasks such as writing a good spec, good code, or a robust test case, combining these skills from a number of people and within certain constraints and changing requirements in order to ship software that is valuable to the customer can be a daunting task – even for relatively scoped projects.
I expect I may digress from time to time into topics related to software in general or some particular areas, thoughts on future software and tools, cool products, and technological advances and the increasing rate thereof (Ich Bin Ein Singularitarian), or other areas related to technology – you have been warned.
Finally the caveats: the opinions expressed here are my personal ones and do not represent the opinions of my employer; the posts here will not include any confidential information or references to any materials that haven’t already been published by my employer; I have a great job at a great company and intend to keep it that way.
Thanks for reading so far. Enough said, on to blogging.