As part of the Software Craftsmanship North America 2012 conference, Uncle Bob gave a relatively short talk (~30 minutes) entitled “The Reasonable Expectations of Your CTO”.
I agree with the points that he makes, most of which can be summed up by saying “Your CTO expects you to be a software professional”. You can also read about some of these points as well as some additional ones in his book, The Clean Coder.
In spite of my agreement with the spirit of what Uncle Bob says, there are some caveats and some potential downsides to behaving “as a professional” that aren’t explored in the talk but are worth mentioning. …
There are plenty of points of view when it comes to Extreme Programming (XP) — anything that can be (mis)interpreted as dogma is bound to elicit a wide range of responses.
I want to look at XP as providing a framework for excellent customer service and explore why I think it can be a useful part of the software development process.
I believe that everyone should have to have a customer service job at some point in their life, if for no other reason than to appreciate the customer service people with whom we interact on a daily basis. …
Over the past few months I’ve worked on creating a console-based tic tac toe game (written in Clojure) and a simple web server (written in Java). It was my first time building anything in either of those languages, and although there were certainly frustrating moments it was absolutely a great learning experience. Not only did I have the chance to learn about and work in new languages, I had the time and space to concentrate on trying to adhere to best practices for building extensible software — I even wrote a bit about some of that previously: