Online Training Sources for Developers

ConfusedI was recently asked about what online training sources do I use or would I recommend. Online training is getting very popular recently. It is convenient, affordable and usually high quality, up-to-date content is provided in a wide range of topics. As I have been doing .NET for the last decade or so, and web development for the last good couple of years, the list mostly focuses on these areas.

I’m sure there is a lot more out there, let me know if you know a good one.

I think watching video screencasts is a great way of learning new (or not so new) stuff. I’ve tried Pluralsight and would highly recommend it. Tekpub is on the top of my list as well. I’m sure I’ll subscribe to both when I find some free time to watch a couple of interesting courses. Till then, I use what I can: listening to podcasts on my commute and reading blogs during lunch-break. These too would deserve a separate post…

Code Kata – The way to TDD

I’ve been playing with the thought of making code kata exercises a daily routine for a while. It never really happened until I read Peter Provost’s inspiring post. If there were only one post you could read about TDD and Code Katas, that post would be it.

After reading the post I took the plunge and jumped right into the first recommended kata – The Bowling Game Kata. It was great timing since every now and then we go out with friends to roll some balls and it was about time for our next great battle. Although once I knew how the scoring worked, couldn’t really figure it out on our last bowling session. That gave some extra boost to go ahead and read the Wikipedia article about the game and relearn the scoring.

Once the rules are clear, you’ll probably want to read Uncle Bob’s post too and download his presentation with step-by-step instructions. Fire up Visual Studio, open up the ppt and try to finish it in half an hour. Although the code on the slides are written in Java, it’s rather straightforward to port it to C# or to the language you prefer. You can do katas in JavaScript using a testing framework like Jasmine or QUnit as well.

Don’t worry if it takes a bit longer the first couple of times, your speed will improve with every iteration. Using tools like NCrunch also speeds up the exercise, not to mention the indispensable ReSharper. Improved Shortcut-Fu is another side-effect you will experience during the sessions.

I also played with the String Calculator Kata, which is Roy Osherove’s favourite kata. He is the author of the popular book: The Art of Unit Testing. If you haven’t done much unit testing before, that is a great book to get into it. Buy it, read it.

If you got hooked on code katas like me, don’t forget to check out Coding Kata .NET and CodeKata for more.