It’s that time of year again when Software Craftsmanship wall calendars are shipping out of our Hudson office. A few things are different this year. The small NimblePros logo on the calendars has been replaced with a small Telerik logo. The boxes of calendars from the printer now come with 60 calendars per box, instead of 55. And the calendars themselves have an extra page in them (you’ll have to get one to see how we put it to use). We’ve also continued to be blown away by the popularity of the calendar, and we love that the community has supported this idea (which we’ve spent a great many hours obsessing over each year). Two years ago, for the first calendar (the 2011 calendar), we ordered 1500 calendars. Last year, in response to demand, we increased the order to 3000. This year, we’ve gone even further, and have printed 5000 calendars. That’s just over 83 boxes, at 38 pounds per box, which is over 1.5 tons of software craftsmanship awesomeness.
If this is all new to you, you can check out some of our past calendar images. If you have ideas for motivational images and themes we can use in future calendars, please leave a comment – we’re always looking for (and happy to credit) new ideas!
I think my favorite topic in the 2013 Software Craftsmanship calendar is Separation of Concerns. Separation of concerns is, of course, an extremely important principle in quality software development. It’s also one that is violated with alarming regularity. Whether there’s data access code inside of a click event handler, or any other low level plumbing logic embedded in code that is otherwise concerned with higher level concepts, this is something we should try to minimize in our software. We spent a lot of time thinking about how to best visualize this (we’ve tried to avoid just showing some random code snippet as the image wherever possible – who wants to look at that all month?). What we came up with is shown here (we’d just gotten a new, larger refrigerator at the office).
Everybody knows that you keep your cleaning supplies and your food separated in your kitchen, so this seems like an image that really works. It’s also visually interesting enough that even a non-developer walking by might do a double-take when they see what’s on the shelves in this refrigerator. What do you think, does this do a reasonable job of demonstrating a violation of separation of concerns, using a non-code metaphor? And yes, all of the cleaning tools were new, not used, when they were used as props for this shot.
You can order your 2013 Software Craftsmanship calendar now at http://gear.telerik.com. Thanks to all of you who have supported this idea the last two years! We really appreciate your support and hope you’ll continue to share this with your friends and let us know how we can continue to improve the calendar.