Big picture thoughts on software and other topics

November 24, 2008

Boodhoo Take 2

by Brian Donahue

I spent all last week in Jean-Paul BoodhooBroken Link: http://jpboodhoo.com/'s Nothin But .NET Boot CampBroken Link: http://jpboodhoo.com/training.oo in my home town, Philadelphia.  I have been trying to get JP to Philly off an on for over 2.5 years, ever since I had watched some of his DnrTVBroken Link: http://dnrtv.com/archives.aspx screencasts (well worth your time, if you haven’t seen them).  After some frustration trying to get my former company to host his class, and then trying to find an alternate venue here, JP announced a New York course last October and I jumped at the chance to attend.  The experience completely exceeded my expectations.  JP’s depth of knowledge of C# and the .NET Framework combined with his passion for writing software made it a learning experience I would never forget.

Even though I was able to attend JP’s course, I am stubborn, and still felt an urge to bring JP to Philly, if only to expose more people in this area to his course.  Others in the Philly ALT.NETBroken Link: http://phillyalt.net/ group and Philly .NET community had heard great things about JP (and not just from me!) and also were interested in having him hold his course here in Philly.  I kept in touch with JP, and finally we were able to plan something for November of this year.  I helped out finding a venue, and got the word out as much as I could.  After that, I just hoped we’d get enough people registered to make it happen. 

Little did I know that JP would mention that this would be his last course for a while, and that seemed to prompt a few people who had been on the fence about attending an NBDN to register.  We ended up with a record registration of 24 people!  Due to the class size, JP asked me to come along for the week as a Teacher’s Assistant, which was awesome!  With a title like Teacher’s Assistant, you might think that I actually know something... rest assured, my primary job was to organize the meals (JP provides all meals during the course, and lunch and dinner are often at a local restaurant) and trying to help out with organizational details.  I also helped with machine setup, Subversion navigation, and occasionally was able to provide an answer to a programming question.

As JP will remind you, the week-long course is not called a "Boot Camp" without reason.  The shortest day is the first, Monday, where you will leave around 11pm.  Successive days go at least one hour longer each night, and it’s not unusual for the last day to go until almost daybreak on Saturday.  Last week I had a train to catch and left "early" around midnight on Friday night, but only after staying until 12:15am, 1:30am, and 2:30am or thereabouts on Tuesday, Wednesday, and Thursday.  Sometime mid-week, Zakir Hoosen created the modified "sleepy" Boohoo logo at right which we all got a kick out of.

It’s a rigorous and rewarding week.  The majority of it was an absolute blast (more on the not-as-fun part later).  You will find yourself in awe at the ease and elegance with which JP designs solutions and writes code for problems that you’ve been dealing with your whole career and yet never realized could be handled so gracefully.  You will also likely get some inspiration from your own work and the work you do with others as part of the team exercises.  Thursday and Friday are traditionally team coding days, where you and your group work to flesh out large pieces of the application you’ve all been working on and learning from all week.  I spent most of my time on a team with Al NyveldtBroken Link: http://www.nyveldt.com/blog/post/Nothin-But-NET-Bootcamp-e28093-Philly-Edition.aspx, Vadim Rybak, Leonard Cacciatore, John Wigger and another John, whose last name I think was Miller (there were 3 Johns in our class!)...  There was some great work on our team, and the first day of coding (Thursday) was a lot of fun.

Friday was a bigger challenge for me.  I felt like I hit a bit of a wall in terms of my own creativity and found myself staring at a couple lines of code for a while, trying to figure out a cleaner, more elegant approach.  I’m sure my lack of sleep wasn’t helping, but it wasn’t just that.  JP had given me a couple specific challenges take on, and instead of feeling focused and inspired I was feeling stuck and, well, stupid!  Around this time JP decided to play Randy Pausch’s incredible "Last Lecture" while we were all coding.  I had seen this before, but this reminded me that I really should watch it at least once a month.  It’s that good, and that inspirational. One of Mr. Pausch’s lessons is that brick walls are placed in your way only so that you can prove how much you want something.  That idea, and a few conversations with JP got my mind back on the right track.  At that point, I didn’t have time to make a ton of progress on that specific challenge before I had to catch my train, but I did leave determined to keep working on it and send what I come up with to JP for feedback.  I was really glad to leave with a feeling of motivation, because that’s how I had felt all week, but had let it slip away a little bit on Friday afternoon.  I plan to carry the inspiration from last week forward into 2009 and make some new goals for myself and work hard to achieve them.

The course was no less rewarding the second time around.  Without any hyperbole, I can tell you that this class is unlike any other.  It’s not something where you will just be coming home with some new tricks up your sleeve.  It’s an experience that will have you reflecting on your whole life, your career, your goals, your motivations.  JP is equal parts programming guru, and inspirational life coach.  He’s just as likely to go off on a speech about the power of the iterator pattern as he is to challenge you to reflect on your life and goals and to encourage you to push yourself to "trim the fat" and make the required sacrifices to make them happen.

All this talk wouldn’t hold nearly as much water if it weren’t coming from someone who has really lived a unique life, and driven himself to great heights in his career, and touched so many people through his teaching and by spreading his enthusiasm for what he does. 

If you have the opportunity to attend one of JP’s classes, or to have your company bring him in to work with your team, I can’t recommend it enough!