Take Control of your Development Career

I got the opportunity to do a little road-trip with my daughter this past weekend. I had an opportunity to speak at the Carolina Code Camp. They accepted all three of my submissions, so I figured I should make the trip. She spent a couple of semesters at High Point University in North Carolina and was looking forward to seeing some friends, so she offered to come along.

The trip was great. We had a total of fourteen hours together in the car, which gave us plenty of time to catch up, talk philosophy, talk a little politics, and just hang out. If you think fourteen hours is a lot of time to fill talking, you haven't met my daughter or me. Separated, we are fairly loquacious, but together, we can get into a zone and move from subject to subject with nary a pause.

The venue was excellent, the weather was beautiful, and the audience very receptive. I gave three presentations; "Introduction to Functional Programming with Scheme", "The Technical Debt Trap", and "Take Control of your Development Career". The last one is brand new. I've included a link to the slide deck.

I like this presentation. I absolutely loved it when Joe O'Brien gave a similar talk at Code Mash and I wanted to do something similar (but unique). Frankly, I think this one needs work. I got very positive feedback at the conference, but I feel like it doesn't deliver what I want it to. Look for changes to this talk in the future. And if you've thoughts on what you'd like to see, feel free to let me know. I think this has a lot of potential, I just don't feel I've nailed it yet.

Cleveland Ruby Group

Just a quick note:

I have officially accepted the coordinator position for the Cleveland/North East Ohio Ruby Users Group. Many thanks to Joe and Mike for their years of service. This is a good group of local Rubyists, interested in learning and furthering their craft.

The leadership team is now Joe Fiorini, Matt Snyder, and me. We've made a couple of small adjustments to the site and Joe recently launched www.clerb.org. We are looking to the existing community to provide ideas and feedback in order to drive our direction and ensure the group meets the needs of its members.

Visit the Cleveland/North East Ohio Ruby Users Group on meetup and make sure you check out the CleRB.org site.

The Technical Debt Trap

I had the honor of presenting at Chicago Code Camp this week on the topic of technical debt. For those of you who know me, you know this is a topic I feel passionately about. More accurately, I am concerned about the misunderstandings surrounding technical debt and the frequent use of the term to placate any sense of responsibility over writing messy code in pursuit of a deadline.

Ward Cunningham
I run the risk of looking like a Cunningham Fanboy with this presentation. I effectively stand in front of the audience and say, "Ward Cunningham says..." I don't know Ward personally, but I wouldn't mind meeting him some day. His insights on the development process and our responsibilities as developers are keen, his message is clear, and it is way easier to appeal to authority than to convince people to listen to me.

There are a number of references in this slide deck. I've included all of the links along with a brief explanation of each.

OOPSLA '92 Experience Report
Ward Cunningham's brief on the WyCash Portfolio Management System wherein he likens shipping first time code to going into debt and warns of the potential pitfalls.

James Shore on Voluntary Technical Debt
James talks about how a savvy team can use technical debt as a tool to accomplish more than they otherwise would.

David Laribee on Paying Back Technical Debt
David discusses the burden of Technical Debt on a project team and the use of agile practices to pay the debt down.

Steve McConnell on Technical Debt
Steve focuses on an approach to technical debt from a business perspective, looking at decisions to incur debt, how to ensure it is the right kind of debt, and how to service the debt.

Martin Fowler expands the Metaphor
Martin has several entries on Technical Debt. In this particular entry, Martin refers to Ward's definition of technical debt and provides a condensed definition that I believe could be the most often referred to definition.

Ward's Video Statement
Ward creates a video wherein he discusses the technical debt metaphor and explains his views on messy code as it applies to technical debt.

Ward Tweets about Technical Debt
Dirty code is to technical debt as the pawn broker is to financial debt. Don't think you are ever going to get your code back.

Continuous Refactoring and ROI
The team over at Software Management Blog explain how to use continuous refactoring to keep your technical debt down and shows the flaw in scheduling refactoring into large concentrated efforts.