Big picture thoughts on software and other topics

January 14, 2009

Introducing the "Foundation Series"

by Brian Donahue

Update: Workshop 2 (April 8th, 2009) registration is now openBroken Link: http://foundationseries2.eventbrite.com/

In 2008, I was lucky enough to have a lot of opportunities to speak and teach workshops in the local .NET community.  Many of these opportunities came through the support of people like Bill Wolff and Dani Diaz via the Philly.NET User GroupBroken Link: http://phillydotnet.org/ and Microsoft’s Developer Evangelism program, respectively.  Both have really been huge supports for the group I started well over a year ago now, Philly ALT.NETBroken Link: http://phillyalt.net/.   

Through these events, I gained a much better understanding of the huge .NET community in this area, as well as the vast range of experience and interests in that community.  I was really encouraged by the enthusiasm and interest I saw in topics I am passionate about, like Test Driven Development and Behavior Driven Development, and bringing best practices and ideas proven in other platforms and communities to the .NET platform.

To me, Test Driven Development is the most important practice in my development approach, because it forces me to think methodically about what I am writing, question my approach, and constantly look for ways to improve.  I don’t think I’d have progressed nearly as far as a developer as I feel I have in the past 2-3 years without trying to stick with TDD, and get better and more consistent at applying it.  My ultimate goal is to help more people in our community to improve as developers using TDD as a platform. 

While speaking about TDD and other practices, I saw a big opportunity to introduce more people by starting at the beginning and reaffirming some of the ideas and practices that I feel are fundamental to being a good developer - in any language.  This idea has been building for several months, and with the help of many of my fellow Philly ALT.NETters, we’ve come up with a series of 4 workshops that we’re calling the Foundation Series.  For many of us, it’s easy to take these ideas for granted, but when teaching something like TDD to a group with widely varying exposure to it, I found that some of these things needed to be explained and established as important and valuable programming concepts before the real value of TDD could be appreciated. 

I am hoping to start this series in February, and the current plan is for these workshops to take the place of our monthly Philly ALT.NET meetings*.  It hasn’t been inked in yet, but we are planning to hold them all at DeVry University’s campus in Fort Washington, PA - the same place where Philly.NET’s code camp, and Hands-On Labs series take place.  We’ve come up with the following curriculum for four workshops (all dates are currently tentative):

  1. Coding Fundamentals (3/11//2009)
    • Goals: Maintainability, Extensibility, Craftsmanship
    • Clean code – readability, naming conventions, method length, etc
  2. OO Fundamentals (4/8/2009)
  3. Design Patterns (5/13/2009)
    • Factory
    • Observer/Visitor
    • Repository
    • Decorator
    • Façade/Adapter
    • Strategy
    • More
  4. Basic Architecture (6/10/2009)
    • Putting the pieces together
    • Application Layers

Each workshop will be an overview of the topics, with code examples in C# (sorry, none of us are VB developers, but we are open to audience translation!), and will cite additional resources for further research.  We hope that you will leave with a good understanding of the material, and we will provide you with direction for continuing to learn on your own as well. 

I want to thank my co-conspirators Bob Bunson, Steve Eichert, Brian Frantz, Jon Graves, Ben Greenberg, Erik PetersonBroken Link: http://erikbase.blogspot.com/, John Pharo, JP Toto, and many others who have provided input and other contributions as we were planning this series.  You’ll see many of their faces either speaking, or helping out at the workshops.

To stay updated on the final dates, and other details about the series, subscribe to our (low traffic!) Philly ALT.NET Discussion Group, or if you do the Twitter thing, follow @phillyaltnet and/or me: @briandonahue

* If anyone is interested in speaking, or organizing a Philly ALT.NET meeting during this series, I will be happy to help in any way I can, but it will not be a priority for me to set up additional meetings during these 4 months.