Update: this blog is no longer active. For new posts and RSS subscriptions, please go to http://saintgimp.org.
It’s Jeremy Miller’s fault.
I’ve been on a blog-reading binge for about two years now, mostly focused on Agile project management, XP software development techniques, and the ALT.NET community. I’m overwhelmingly indebted to many different authors of blogs, articles, and books who have shared their insights on advancing the craft of software engineering. Having received so much benefit from the community, it’s time for me to try to give something back. It may go somewhere, or it may not, but it’s worth a try.
I got my education in Software Engineering at Oregon Institute of Technology back in the early 90’s. It’s not a particularly well-known school but I was very satisfied with the education I received there.
Halfway through college I took a year off to do a lengthy internship with Microsoft, doing product support for Microsoft Word. After graduation I returned to Microsoft full-time and I just passed my 15 year anniversary here a few weeks ago.
I spent six years on the Office team working on on test automation technologies then switched to Microsoft Game Studios (MGS), ostensibly to set them up with all the automated testing goodness that we had in Office. Turns out that was an enormously more challenging task than I’d imagined when I signed on – nine years later we’re still not where we want to be, but we’re a whole lot better off than when I started due to a lot of hard work by a lot of people. I’ll have more to say on that topic in future posts.
I currently work as a dev lead in the Games Test Organization (GTO) team inside MGS building tools and technologies that our test teams can use to more efficiently test the games we publish. It’s a great role because I get to work with the best game development companies in the business and I’m always working on something new. It’s never just the same old thing! It affords me an interesting and unique viewpoint from which to observe the games industry, and after nine years I have a few thoughts about game development and game testing that I’ll share when I find an opportunity.
About two years ago, when I started leading a small team of tools devs, I realized that I had been fairly insulated in my various roles at Microsoft. I was doing my work pretty much the same way I had been taught in school but the state of the art in software engineering principles had progressed quite a bit while I wasn’t looking. I started an intensive campaign to educate myself on all the new thinking.
I started with agile project management, particularly Scrum, and moved on to design patterns, test driven development, SOLID design principles, and other topics espoused by the ALT.NET community. It’s an intimidating quantity of information to absorb, particularly since I wasn’t working with anyone who was already experienced with these topics so my primary avenue of learning was reading and experimenting (often badly).
At this point, I’m certainly not an expert on any of the above topics but I know enough to hold my own in a conversation, so it’s time to start writing down my own thoughts in hopes that it might help someone else in their own learning experience. I hope someone will find this useful!