My Professional Retrospective – 01/09

I’ve decided to publish professional retrospectives at the end of each month.  Each retrospective will provide a summary of what I’ve been up to over the past 30-or-so days along with my plans for the up-coming month.  Initially, there will be no rules in place and these posts should be considered experimental at best.  Read more about why I selfishly started posting my professional retrospectives.

January 2009


This month I found myself January was a surprisingly busy month as I successfully deployed two production applications:

Project A: Continued Phase 2 Release for an multi-piece application which I initially launched in July.  This release included .NET web, web services, SQL Server 2005 enhancements along with minor tweaks to the WPF client. 

Project B: Put a sizable amount of work into an internal line of business ASP.NET web application which used much of the .NET membership objects and controls, jQuery, parameterized queries, themes and general dynamic gridview fanciness.


I’ve previously posted about Lightning Talks.  At my company we actually call them “code brews.”  Though are meetings aren’t technically code brews, I am very found on the term as it is made up of two of my favorite things.  I did a talk on Aspect-Oriented Programming (AOP) and I am scheduled to do another talk on 3/2 on Functional Programming with a focus on F#.


I only published 6 articles last month. If I could encourage you to review just one of the posts, it would be the introduction to AOP.  The post includes a sample web projects and demonstrates how to separate caching functionality from your core implementation: Caching with C#, AOP and PostSharp

On a side note, I noticed my post titles were wrapped in <H2> rather than <H1> tags.  I updated my WordPress templates and now that Google can better spider me, I’m finding views and comments are increasing considerably.  SEO mistake number 1: Don’t let Google work for you.

I also added avatars to comments on 1/9.  Anything to show off my bald spot…

I read a free copy of Best Kept Secrets of Peer Code Review by Jason Cohen from SmartBear Software.  I’ve been interested in code reviews for years.  When this book arrived in the mail, I pushed all my other reading aside and ripped through it. 

I downloaded Data Structures and Algorithms: Annotated Reference with Examples by Granville Barnett and Luca Del Tongo. I haven’t read through the entire eBook yet, but it is very nicely done.  I suggest you add it to your collection.

I’m still plugging along on CLR via C#, Second Edition by Jeffrey Richter.  This book is ridiculously good, but it requires a good amount of focused time which I don’t have a lot of lately.

The following books are partially complete:

  1. Agile Software Development with Scrum (Series in Agile Software Development) by Ken Schwaber and Mike Beedle
  2. Foundations of F# by Robert Pickering
  3. Some of jQuery in Action by Bear Bibeault and Yehuda Katz


I added two new podcasts to my queue — Elegant Code Codecast and Spaghetti Code Podcast and pixel8.  I’ve handpicked and listened to about a dozen past episodes and I’m going to stick with them. 

What was worth listening to last month?

  1. Alt.NET Podcast – Episode 15 – Domain Driven Design
  2. Stackoverflow – Podcast #39
  3. Stackoverflow – Podcast #38
  4. Stackoverflow – Podcast #37
  5. Stackoverflow – Podcast #36
  6. Elegant Code – Code Cast 19 – Peter Provost on Agile, Visual Studio 2010, and Architecture Tools
  7. Hanselminutes – Show #145 – SOLID Prinicples with Uncle Bob
  8. Hanselminutes – Show #146 – Test Driven Development is Design – The Last Word on TDD
  9. Hanselminutes – Show #148 – MEF with Glenn Block 
  10. HerdingCode – Episode 33 – Intertube Inauguration and Questions from Listeners
  11. HerdingCode – Episode 32 – WIndows 7 First Impressions
  12. HerdingCode – Episode 31 – Chad Myers and Jeremy Miller on FUBUMVC
  13. HerdingCode – Episode 30: Year-End Wrap Up
  14. SE Radio – Episode 108: Simon Peyton Jones on Functional Programming and Haskell (from 08/08)

I have also volunteered to produce show notes for the HerdingCode crew.  Last week, I sat in on my first show.  Let me know what you think of the show notes starting with Episode 34 once the show is published.


Between podcasts and Twitter, my blog consumption has dropped considerably.  This makes me sad.  I think I shall do something about it this coming month.


It is fair to call me a casual Twitterer, but I am far from addicted to the service.  In fact, I’ve never once complained or even noticed when the site has gone down.  That said, I’ve started to recognize Twitter for what it is — a valuable resource for an inquisitive software developer like myself.  It’s shocking just how much information can be gathered by merely “listening in” on numerous public conversions/announcements.  Though I see little evidence of it yet, I am confident that micro-blogging (and podcasts) will ultimately kill traditional blogging.  We’ll see. Anyway, I currently follow a dozen or so folks and I check in with Twitter about 4 times a day.  My current desktop client is Witty and I use Twitterific on my iPhone.  Again, I’m not addicted.

Open Source

I’ve continued to commit to the Witty project and submitted patches for 4 issues/enhancements this past month.  All, coincidently, we’re rolled with the 2.1 release on 2/3.


Installed the free DevExpress Tools (CodeRush Xpress for Visual Studio and Refactor! for ASP.NET) and has since uninstalled.  I started building up VMware machines at work and I’m using the VMware Infrastructure Client to manage the images.


As I mentioned in the Profession Retrospective announcement, it is difficult to remember what I did last week never mind yesterday.  This was a tough exercise to go back a month in time.  I’m sure I missed dozens of things but this is still just an experiment. Let’s see what next month brings.


  1. Your list is inspiring from two angles – being able to consciously keep track and improve, and the variety of things that you have accomplished. Thanks for writing.