This past week I was very blessed to be able to attend JP Boodhoo’s Nothin But .NET Bootcamp in Philidelphia, PA. It was an intense week of advanced coding that I’m not likely to forget anytime soon. JP is a very upbeat and passionate developer with a deep understanding of .NET, OO design, and BDD. He is also a great communicator, teacher, and individual, so you can’t ask for a better combination to bring you through an advanced .NET bootcamp experience.
The bootcamp experience really started before the class even started. JP sent out some material about a week before the course. When was the last time you had a technical training that you need to do a bunch of prep work to even be ready to show up for the first day? He also sent out a warning about the hours that the course normally takes up to make sure everyone was expecting this to take up every ounce of time and energy they could give. I had already heard about these things before, but just hearing about it is just not the same as experiencing it.
The prep work consisted of a bunch of PC prep work (software setup and configuration) as well as a sample project that we were going to start the week with. The project simply had a bunch of failing unit tests. We simply had to make the tests pass and refactor. There was lots of refactoring that could have been done and after a few hours I stopped. We started Monday with someone’s version of this project and it just took off. I was shocked at how fast JP could take the project that look very similar to my version and transform it into a far superior project with concise code that read beautifully so quickly. He immediately starting introducing new concepts to me and I knew what others had said about this week was going to be true. JP never really slowed down until day 4, but by then it was time for the students to drive the course to completion.
The week was intense in every sense. The hours were long. My days finished at about 11:15pm, 12:00am, 1:30am, 2:15am, and 9:30pm, and I left early on the last 2 nights. There wasn’t a lot of fluff time in there either. Sure, we had some nice sized meal breaks but the group stayed together for the most part. It was a real test to be able to keep focused and concentrate. To be honest, I really failed that test at the end of the 3rd day, but JP tries to record screencasts of everything so I can go back and re-watch what I stared blankly at live in person.
The material was deep and I didn’t find much of anything I didn’t have to follow carefully to understand. Through the first 3 days, he mixed in a nice amount of coding with giving the class a chance to work through small bits. This usually consisted of JP writing a test and having us make it pass or having us write the test and make it pass for the next small feature. He gave us a few more lengthy to-do items but we worked in small teams and I was always surprised that we could start with 4 people who really had no idea where to start but each time complete the exercise without getting JP to do it for us. These small exercises were easily the best part of the course for me. Each time I worked with different people, interacted with different people and interesting ideas, and was encouraged to see how most everyone was able to contribute to make the team successful. The short time slot of an 2 hours or so just seemed like a sweet spot to me.
Starting on the 4th day, we were expected to just work with our team and complete the project we had been working through since Monday evening and make it special. This was fun as well, but it felt different to me for some reason. It was interesting to see how our team split up the work and how we attacked the problem. We spent from Thursday after lunch until we quit early the next morning and then we continued with it on Friday after lunch until I left Friday night.
I really enjoyed working and talking with other developers with a hunger to improve their craft and build great software. The people who want to come to a course like this are really striving to improve and it makes for a great experience. I learned a lot through the course of the week and I left encouraged to continue to improve as a developer. I leave with a number of areas I now know I need to focus on and a good place to start that learning.
Thanks to JP for a solid week, a great experience, and great foundation for continued work in my core .NET skills and testing practices.
The only other from my class who I know of who has blogged about the course was Rob Reynolds. Rob gets into much more of the actual content details in his posts if you are interested in the actual course content.