Written March 31, 2010 at 14:00 MDT Tagged training
With the goal of complete transparency, I am in the process of aggregating all of the past reviews of Nothin But .Net so that they can be made available for people to read about the good and bad experiences of past students. For now , I am focused on sharing the thoughts and opinions of the remote pilot course that occurred in February.
Heading into the course I was concerned that there were going to be things lost in the remote transition. Aside from some technical difficulties in the beginning, once things got rolling it was an absolute blast. Any concerns that I initially might have had about how things would work in a remote fashion were completely dispelled.
By the time the end of the week had rolled around it was awesome to hear from people that one of the big things they took away from the week was a renewed sense of direction and motivation for what they do. Of all the things I was worried about missing, this was by far the biggest. It was awesome to hear that aspect of the course was not lost in this format. Enough of my blabbing, onto the reviews (all names have been removed to preserve anonymity):
I sat to write this feedback after a week since the class - well, right after the class I got busy with the projects that were delayed, and after jumping right into the developing could realize that the value of the course was even more that seemed at first. But in order.
I think the stricter software requirements should have been specified. Besides VS, really was needed R#, Git, Gallio and TestDriven.NET. Plus, of course, a communication software. Anything else was rather optional. To make Camtasia work, it took me about an hour (darned sound did not want to be recorded) and the output files were so big, that they would fill the remainder of my HD for about 5 hours... Autohotkey started a little fight with Catalyst, but quickly won the battle. Anyway, it appeared to be optional for the class.
The knowledge of Ruby (that I learned specially for class and happy about it) was not really necessary, nor the knowledge of PowerShell commands. Really beneficial would be more studies on delegates before class. Really good were DNR screen casts.
The experience was grrrreat! I had to do few adjustments: my head started to hurt because of headset after couple of hours - to have them on the whole day it is not like having casual talk on Skype. So I stole from my son an insulating headphones and was happy to the end. Te fact that the course was remote was beneficial from other standpoint: I could find exact moment to run for the bathroom without interrupting anyone. Plus were else could I have a dinner for 15 minutes?
The course itself.
The main thing I got for myself - is a philosophy and principles. Say, Open/Closed principle. Already changed some of my old code + Completely changed design for the new project project just because this principle only. Then, use of delegates. Before I used them only as event handlers. My bad. This is rather new not so new principle. Top-bottom development - that is something. I really saw it working during the class. Now I am thinking in that direction... TDD - still thinking about it. It just does not want to go in the direction I used to develop and think. Scheduled a meeting with other developers in the company - may be we will talk together to some conclusion... But overall, most valuable to me were principles and approaches. How they come to life. How to find own style, efficient and conscientious. I was known for the strife to an elegant solution, not just working solution - and I got greatly re-inspired by the course.
I was lagging on the exercises. Mostly because I used to think in completely different way and need to "feel" the code. Took me couple days to understand how implementation happened on certain concepts (front controller, container).
So here is my summary of the week…
You started day 1 asking what our goals for the week were. I said mine was to better understand how to apply TDD and try and bring that back to my team. By day 3 I realized I needed a new goal for the week. I didn’t realize how much I was going to have to unlearn and relearn. I was humbled throughout the course of the week by 2 things… 1) the realization that my development skills (OO design in particular) were not nearly as good as I had thought they were and 2) my inability to catchup when there was something I didn’t pick up on right away. About half way through the week I gave up trying to catchup and recorded everything I could on Cam Studio. I figured that I was better off paying better attention while people were speaking and not working in my own head to understand everything. In terms of my OO skills, I was encouraged to go back to basics and really learn and understand fundamentals. For example, instead of just being able to figure out how to use a delegate to implement some pattern, I now am determined to understand what a delegate is and what it really enables us to do with our code. I feel like I was freed from having to learn every new technique and framework that shows up on the horizons. Instead I am focusing on having solid OO skills and knowledge and not worrying about learning new frameworks unless I know exactly why I need it and why I can’t write it on my own.
All-in-all the week was fantastic. I haven’t been challenged mentally in a very long time like that. It was really good to be forced to view development from a different lens than what I have formed over the last several years working.
- This is all specific to the remote format… probably more advise to future attendees.
1) Use multiple intelligences for the teaching. (My wife is an educator, so I apologize in advance). I think especially in the remote format, it would have been nice to have some other means of soaking in some of the concepts besides words and code. I could see visuals (diagrams & models) being effective of letting certain concepts sink in.
2) I had a hard time with the timezone differences. I know there were folks in the course w/ even bigger offsets, but it made evenings seem even later and timing for meal breaks difficult. Maybe offer the course in a specific time zone, or more structured schedule so people could work late or early the next morning if they chose.
3) I would recommend taking the course from home. I started day 1 at the office and there were too many distractions and it was no fun driving home at 11:30 pm.
4) Record everything. I started on Wed. Freed me from having to worry about grasping every concept right away.
5) Use some sort of “on air” indicator so people can mute any discussion, but not miss the group teaching time.
6) I would have liked to have some time to finish implementing some of the refactorings myself instead of pulling down others. Sometime it was difficult to change my thought process for how other people were implementing certain things.
- I was skeptical of the 12 hour days at first but JP's teaching style, energy, and enthusiasm made it easy for me to stay in an open minded learning mode.
- Very interesting topics that had me completely rethinking the way I code at work.
- I enjoyed the method used of teaching something, doing an exercise, looking at the various student solutions, and then making suggestions about them.
- As said before, we lost almost a full day to technical issues. So I believe it would have helped to have a ready-to-go setup for the course beforehand. Students should be given all the information they need to setup and test that setup before the day the course even starts.
- Maybe some coverage of ReSharper up front, either at the beginning of the course or through preparation material (perhaps a screencast).
- I felt it was unfortunate that we didn't get to complete our main web exercise from beginning to end. It would have been nice to see everything come together and do a review of the various design patterns and techniques we used to accomplish that throughout the week.
- I think the course could benefit from a more feature complete all-in-one solution to replace the use of VSee, GoToMeeting, and HipChat.
- Dual monitor setup is almost a "must"
Here's my feedback. I limited my comments to the remote nature of the
course, rather than the content, which was excellent. Hope it helps.
* The main thing I would say about the course is that I forgot that I
was doing it remotely. The technology makes the remote nature of the
course transparent and I can honestly say that I don’t think there was
any compromise over doing the course in person.
- The technology allows complete two-way interaction between teacher and
student. Both can view and control the other’s screen, and the whole
class is able to participate.
- Source code can be shared seamlessly and immediately with github.
Thanks again for a great course. Sorry these are so long coming back, it’s amazing how quickly work takes back over. On a personal note, I was really amazed by the course. It was a great week. If you and your family ever decide to come to the Rock for a vacation, let us know. We’ll show you a good old Newfoundland time.
What Major Concepts Have You Learned And Understood This Week?
- I find I now have a better appreciation for design patterns. I also discovered that I never really appreciated the power of small, single responsibility objects before. I was amazed at how much functionality could be derived from small classes calling other classes. I look forward to using this to really get a handle on test drive design.
What worked for you about this course?
- Price & location
What didn’t work for you about this course?
- It was nice to see Git, but it seemed to be a hindrance for the first few days.
- Need a more full featured and reliable software for presentations. Should not have to use a separate chat client.
- Maybe when we are introducing ourselves in the start we could have used web cams. It was hard to build relationships virtually.
How did you hear about the course?
- Your blog which I started following after I attended one of your presentation at DevTeach.
Would you attend another course hosted by developwithpassion.com consulting inc?
- Yes, especially if you continue to offer courses by distance. As much as I love in person training, travelling from St. John’s is cost prohibitive.
Do you mind having your name posted beside your feedback on the course web site?
- Not at all, do ahead.
Would you be willing to be contacted by potential future students for info about your course experience?
- Of course.
Could you provide some comments on how I could specify the course prerequisites more clearly?
- We had issues with the tooling and our environment. Maybe more details on what we will need to do so we can test it out ahead of time.
- Maybe a list of articles to read or small tasks to try out before hand would give us more idea of
- Screencasts for some basic housekeeping stuff so we don’t have to spend that time in class. These could include source control or using ReSharper.
I can say with a lot of confidence there's a "before and after" in my software development career just by being a part of the NBDN remote course; I have advised all of my programmer friends to make an investment and take the course, however, when they asked me what's so good about it, my response has been constant: There's no price to realize there are more elegant ways to do what we do and improve.
Learning is hard, but it's a decision we must make.
It was very interesting seeing software principles being used in "real contexts" and grasp why they exists and how they can enhance our work.
Communication: Online communication with Trainer and students is good.
Topics covered: Good - Need to cover more on Generics, Delegates and Design Principles and Patterns on first day or before using them to bring all to the same level of knowledge.
Examples: Very good.
Tools used: Good - Very useful.
My quick review is below. Sorry for the length of time it’s taken me to do this. One thing I took from the course was to minimise distractions and I’m now checking my personal email very infrequently as a result!
Thanks so much for putting this course on. Since the course I’ve been working each day going through my notes and implementing ideas. I’ve also made my way through ‘Pragmatic Thinking and Learning’ which was very useful and have begun my MIT Opencourseware curriculum. Seriously, the course was an inspiration and I was so pleased to be a part of it.
My review is below. If you want me to go into any further detail apart anything, just let me know. Feel free to put in on your website etc.
I was one of the lucky ten people to take part in JP’s first remote pilot course and am thankful that I made the decision. I had planned to wait until JP makes his way around to London so that I could participate in the Nothin. But .Net classroom course. However, as soon as I saw JP’s blog post about running a remote course over the internet, I decided immediately to take part. I was intrigued to take part in a course delivered solely live in person over the internet, as well as pleased with the cost saving and the fact that I was too impatient to wait for JP to come to London later in the year!
The course began the week before for me when I got an extra screen delivered at home (really, I would strongly recommend 2 screens or more so you can watch full screen and type at the same time) and went through the course preparation materials. If you haven’t seen JP’s videos on www.dnrtv.com they’re great viewing and you’ll learn loads.
The course was challenging, fun, eye-opening (it is possible to get that good!) and covered material in depth, rather than just skimming the surface of loads of topics. The course is hands-on and you get plenty of opportunity to write code to cement the concepts that you’ve just gone through. It was worth the price of admission just to watch JP code and I was amazed with how easily the course delivered that ‘pair programming’ experience.
Well, there you have it. Those are all of the reviews from the participants of the remote pilot (save 2 who did not provide a review). Doing the run through has helped me to appreciate the things that I need to take care of prior to the next remote course taking place. I am excited by this opportunity as it means that I can have a much larger reach with the course and take it to places that are currently wanting the course, but that I have not yet reached.
The next public remote course of the year is scheduled for the end of May. Register/view more information here.
If you or your team thinks that you may be interested in organizing a remote Nothin But .Net course, please do not hesitate to contact me at firstname.lastname@example.org and we can look at scheduling and group rates. Of course, there will be publically available remote courses that will be held throughout the course of the year, so keep your eyes peeled. Please don't hesitate to contact me if you have more specific questions about the course itself.
Develop With Passion!!!!