About Me


Develop With Passion® - Developer Bootcamp


Nothin But .Net - The destination is the journey

Written May 02, 2007 at 14:47 MDT Tagged training

The title of this post may sound like the catchphrase from a really cheesy movie, but I think it sums up quite nicely the plan that I had in my mind for where I wanted this course offering to go. In a development world where we seem to be caught up in learning tools vs solid practices, Nothin But .Net is about getting back to basics, building a solid core, and having the foundation with which to be able to evaluate and leverage new technologies, toolset, practices very quickly. Helping devs to chart the course for the rest of their dev career, and not feel so overwhelmed at the rate of change that is currently prevalent in the industry.

Let me state clearly that I am first and foremost a developer, honing my craft daily by working on projects using pragmatic agile practices that I have morphed to work best to my development style. I don't post a public schedule for this class, and have been blessed to have received a lot of interest over the last couple of months that has allowed us (my family and I) to travel once a week each month for the last several months to deliver this targeted training session. My plan is to do 3 weeks of regular consulting, and 1 week of the course, for the next couple of months.

It would better be described as a week of heads down, crazy mentoring. I show up with no powerpoint, the skeleton of a web UI done (which serves as our stories generator) with no code behind. Over the course of the week, I teach people how to apply domain driven design, behaviour driven development, solid OO principles and design patterns to incrementally build up the functionality of the web application.

The reason the class is called Nothin But .Net, is that I feel the need to help people understand at a fundamentally core level, the patterns and practices underpinning a lot of the frameworks that they may choose to utilize in the future. By giving them the knowledge to use these frameworks will intelligence, they are much better prepared to know how to fix/work around the frameworks when they do not work for them. More importantly, they get to see how tdd plays out over the course of the week to build the application under question. They also get to see how building an app in a loosely coupled way allows easy transition if they decide to suddenly move the mapping layer to something like NHibernate, or the dependency container to something like Castle.

Having delivered this course 3 times this year so far, each iteration of the course has been a wildly different experience. And the code that comes out of each iteration is remarkably different from the prior iteration. I have to say that I think I have as much fun , if not more, than the people that attend. The days can be pretty long though, this last iteration consisted of 1 10 hour day followed by 4 14 hour days!!

I had promised my attendees that I would be posting to my website, the comments (good or bad) that I have received from each iteration of the course. I am currently working on revamping my web site to include all of the feedback from each iteration of the course. In the meantime, I thought I would post some of the (good) comments that I have received from attendees so far:

Edmonton,AB - February 2007


Richmond, VA - March 2007

  • I think I probably said everything I had to say under some area or another. Perhaps on a personal note, JP had to go through a lot of logistical difficulties to make this course happen, and I think a lot of trainers in his position would have either pushed the training further out or just called it quits and given a refund. He showed a lot of heart even getting the training off the ground, took personal ownership of whatever difficulties there were, and was clearly committed to the students and making the class successful for everyone.

    I was an IT trainer for four years, and to be honest with you, I think the fact that JP is not a 'professional trainer' contributed a lot to the overall success of the training in general.

  • What an awesome week of hardcore OO, Patterns and .NET madness. Every MS, data-centric developer should take this course to truly understand better ways of building software. From some of the things I learned this week (technical and non-technical), I see attending this class as the biggest turning point in my career as a software developer/consultant since I got test-infected a few years ago.

  • Perhaps some exercises on some of the 'review' topics or OOAD/DP examples to work through before the class to get folks ready for what is to come. Would also be a way to gauge skill level before someone signs up/shows up.

    Overall this was a GREAT experience for me. I learned so much and also have a path on where to expand that knowledge. I am taking pieces of what I've learned and trying to implement them on current projects as well as trying to put into place some of the process and principles.

    Had a great time. Learned tons. Money well spent (by my employer lol). Looking forward to future courses and/or presentations.

  • I really learned a lot. I don't think I have even begun to digest everything I learned. It was even difficult to begin to talk about it when some of my developer friends asked. I am really glad I will have the recording so I can go back and rewind again and again. My learning style is very tasked based (I find out what I need to solve the problem at hand) and I often remember where to look up information more than trying to remember the information itself, so I think having the screen casts of the class will be extremely valuable to me. I already mentioned the concept of a more communal boot camp idea. I think also a more 2-4 hour/week traditional class structure might work well also. On the concept of getting off track, I really liked the idea in day one that we would be working with an online shopping cart. I thought this would allow us to walk through all the layers and see almost a complete cycle, however we were really racing on the last day to get the list of items on the screen.

    It will take a few months I think until I completely 'grok' everything so I can sit down with a blank solution and make my next killer app. ;-)

    You mentioned this whole concept of training trainers as part of a long term vision and I would be interested in learning more about that. As a lone developer in my company its hard to keep on top of things and get important outside experience and ideas . A part time training/teaching project might really help me keep my sword sharp!

  • This course exceeded my expectations in every way. It's given me a good understanding of how I need to improve my skillset so I can become significantly more productive in a reasonable timeframe. JP is totally outrageous and one of the best developers that I've had an opportunity to learn from.

Regina, SK - March 2007

  • JP - you are a phenomenal teacher. It was awesome to be in a class where things were actually taught, and not in a class that consisted of PowerPoint slides and a droning voice putting everyone to sleep.

  • This was an outstanding course. Not the traditional classroom style of instruction, but far more effective in my opinion. I learned so much from watching how JP attacks a problem and works through to the solution using TDD. One of the most important things I personally gained out of the course was the reminder of how truly important it is to have a solid understanding of OO Analysis and Design techniques before jumping into any of the multitude of frameworks that are out in the market today.

    Although this course was outside of my comfort zone, I believe this is one of the reasons that I learned as much as I did. Thanks JP - great course!

Comments are still coming in from the Regina course (it just finished last week). As soon as my site work is finished; I am going to be posting the comments in their entirety (good and bad) so that anyone who may be interested in contacting me to deliver the course in their area (yes I do travel to run the course) can have a better idea of what to expect.