Skip to content

Instantly share code, notes, and snippets.

@daytoncleancoders
Last active December 16, 2015 09:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daytoncleancoders/5416097 to your computer and use it in GitHub Desktop.
Save daytoncleancoders/5416097 to your computer and use it in GitHub Desktop.
Becoming a Software Craftsman

Becoming a Software Craftsman

April 10, 2012 - Written by Tim Larson

The Greene. It reminds me of Atlantic Station in midtown, Atlanta, where I used to live – a pedestrian-friendly, self-contained area where you can ‘live, work, and play.’ I always enjoy visiting The Greene, whether to get a few hours of work in at Caribou, visit MacTown, or meet with some friends for a drink or a meal. So it was no hardship for me to visit The Greene for a recent episode of Dayton Clean Coders.

After picking up some lunch at Chipotle, we headed upstairs to Little Lines, where the office is as elegant as the websites they create. We sat down at the conference table in the open foyer, and after chatting for a few minutes, we split up into three groups and got started.

Before we continue, I need to fill you in on some of my background. Not very long ago, I was a great coder – I could create anything, figure out anything, and pick up any tool, technology, or language and run with it. I had worked at the same company for the 7 years since I finished college, and I was not only smart, I was the best developer they had.

However, I must confess that I was also the only developer they had. Professionally, I was isolated – I had no one to review my code or tell me how idiotic my ideas were. Not once did I reach out to any other developers, because I didn’t ever think to do so. Although I had learned how to use more technologies and tools, the quality of my code was no better than the day I finished college.

Something was missing, and I was completely oblivious to it.

After 7 years at this company, I left and joined a small startup with a couple of other developers. It is then that a colleague, Ben Moore, introduced me to concepts such as the repository pattern, and he helped me to learn to write better code by questioning what I was doing, working alongside me in peer programming sessions, and showing me that there is great value in the ideas that other people come up with. I didn’t know it at the time, but Ben was leading me to start my journey of Software Craftsmanship.

Back to the present. I teamed up with one of the guys at Little Lines, and we worked our way through the Roman Numerals Kata, with the constraint that no method could have more than 3 lines of code in it. It is a constraint you wouldn’t likely have when writing production code, but it helps to force you to approach your code and think about it from a different perspective. As we went, we not only wrote code to solve the problem, but we talked about what we were doing and why we were doing it. We discussed different ways we might solve the problem. We tried a few silly ideas to see if they would work. The experience was fun, and I learned a little something, met some other professionals, and was able to get out of the office.

Dayton Clean Coders is helping me take the next steps on my way to becoming a Software Craftsman. I’m able to peek inside someone else’s head and see how they think, and how they approach a problem, and they’re able to show me the strengths and weaknesses of my code. Ideas that are too risky or stupid for a real project can be tried, just to see what happens. The goal is to learn – there is no pressure to complete the exercise, so I’m able to focus on the code instead of the schedule.

If you are in the Dayton area, you like to code, and you would like to improve the quality of your code, I would highly recommend coming to the next Dayton Clean Coders. Grab a burrito, and I’ll see you there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment