Last June, I read Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin. In the comments to that post, Frederik Vig suggested that I should take a look at the "Clean Coders" video series, also presented by Robert Martin. Having loved the Clean Code book, I promptly opened the Clean Coders website in a new Firefox tab - which is where it's been sitting for about the last nine months. Until now.
| || || |
| || |
| || || |
With the InVision office closed for a few days this week, I thought it might be the perfect opportunity to dive into the video series. And while I had hoped to complete the entire series in two days (I had no idea how long they were), I only made it through the first 6 episodes:
- Episode 1 - Clean Code
- Episode 2 - Names++
- Episode 3 - Functions
- Episode 4 - Function Structure
- Episode 5 - Form
- Episode 6 - TDD - Part 1
NOTE: There are 17 episode currently listed.
My initial impression of the video series is a very positive one. But, the style of the video series is a little bit hard to describe. It's like "Public Access" meets "After School Special" meets "A/V Club" meets "Neil deGrasse Tyson". And, I don't mean any of that in a negative way; the videos are very well done, being all at once, informative, engaging, and entertaining (if not downright campy at times).
For example, in the last episode that I watched - TDD Part 1 - Robert Martin spends an hour validating TDD (Test Driven Development) to a Star Trek version of himself in some bizarro mirror world.
| || || |
| || |
| || || |
The videos are not free, but they are relatively cheap. The first episode is $1; but, it looks like all subsequent episodes are $12. So far, I've spent about $61 dollars watching the first 6 episodes and I don't begrudge any of it. You're basically getting access to your own personal "programming conference" with Uncle Bob as the presenter; only, with a heck of a lot more production value and some sweet-ass-sweet special effects! And don't forget, it's all tax deductible! You're getting your learn on!
Plus, once you purchase an episode, you can always go back and watch it as many times as you like.
Now, you may be wondering - if you've read the Clean Code books, aren't the videos redundant? Well, maybe that depends on who you are and how you learn. I've read the Clean Code book. I've also been a web developer for over a decade; but, I find that learning good and effective software development practices is proving to be a rather long journey. I like to think that I am always getting better; but for me, it's more about baby steps than it is about leaps and bounds. The video series engages my brain in a totally different way and drives home points that I missed before. As such, I don't find this redundant in the least. In fact, I'm already excited to start applying things that Uncle Bob just talked about.
Curious - do you need to watch them in order or are they fairly independent?
So far, they seem fairly independent. They do seem to reference each other a bit, but mostly in passing. I haven't yet seen anything that made it necessary to watch in a particular order.
I watched all of the videos in this series that were out as of about a year ago and enjoyed them a lot. I'd keep going in the series as it starts going into the SOLID principles and other design concerns.
I totally plan on finishing the series. It's great stuff! Thanks for the encouragement.
I'm the kind of person who learns better by reading. I've read all of Uncle Bob's books and have been studying the subject matter of the videos for about 10 years. Still, these are tough concepts and seeing them presented in a different format really has really helped them sink in. I highly recommend the videos.
I find that nothing really sinks in for me until I try to put pen-to-paper. I'm hoping to try and start experimenting more with these concepts; especially test driven development - a huge weakness for me.
suggestion - some of the scenes seemed ridiculous and obvious at first to me. it took some time to realize - it really is all for a larger purpose, and part of that purpose is to challenge you - at a very fundamental level. Episode 15 is must see - its the one i would suggest to start with if you are interested in application design. the task: design the software for a simple coffee maker. This is the clearest presentation on why use cases or user roles are the best way to design an application and the convoluted mess that will happen (courtesy of the "Architect") when object oriented design tries to mirror the real world, instead of solving the needs of the users of the application.
Sounds really exciting! Looking forward to getting there. Just finished the TDD episodes. Hopefully, I'll be able to move onto Architecture today !