I had an awesome day speaking to the students at Launch Academy in Boston. I have a lot of respect for what Dan Pickett and Evan Charles are doing over there, and I hope it brings a lot of new, great developers into the community.
I had initially planned on doing a talk on the SOLID design principles, but as the group is just starting out learning good practices, I didn’t want to throw too much at them at once, so we focused on Single Responsibility Principle, Dependency Inversion Principle, and an Agile design practice called Incremental Design.
It was a ton of fun. They are such an energetic and engaged group. They had very good questions about technical debt, what constitutes a good test suite, and resources for further learning on TDD.
The talk is available below, although due to some technical difficulties at the talk I had to re-record it, so I didn’t get their questions or the wild applause at the end ;)
Thank you Launchers for hosting me, and I look forward to seeing more of you in the Boston developer community.
The example code used in the talk is available here
Here are the references from my talk
Bob Martin (Uncle Bob) on SOLID http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
Sandi Metz - SOLID Talk at GORUCO http://www.confreaks.com/videos/240-goruco2009-solid-object-oriented-design
Derick Bailey - Los Techies http://lostechies.com/derickbailey/2011/09/22/dependency-injection-is-not-the-same-as-the-dependency-inversion-principle/
James Shore - Art of Agile http://www.jamesshore.com/Agile-Book/incremental_design.html
And lastly, here are the slides