The Artima Developer Community
Sponsored Link

Prescriptions, Proscriptions, and Prognostications
Software Engineers are like Cyclists
by Matthew Wilson
April 16, 2005
A light-hearted look at the similarities between the characteristics of Software Engineer and Cyclists


Being as how cycling is the most beautiful of all sports, being a fascinating mix of pain, physical prowess, ability to suffer, profound (but often subtle/hidden) strategy, bluff, courage, and joy, I always tend to see it as a metaphor for pretty much anything worthwhile in life. On my morning 90 mins of torture, around June last year, just after Bill had kindly agreed to bring me into the Artima Blog fold, I spent the time thinking about the correlations between cycling and software engineering. (Since I was then - and still am now! - pretty mentally spent after the writing of Imperfect C++, I tended to focus on the arduous characteristics. Hopefully you can apply a veneer - (see chapter 21 ) - of optimism over my perspective and still find some useful aspects of the metaphor.

So, in point form, an unordered list of the convincing (and the tenuous) correlations between these two valiant pursuits:


I was surprised when I first had the idea to write this blog, quite some months ago (mid 2004), to see that the blog of one of my friend Gary Pennington had had the same idea. I've not yet read it, as I wanted to put my ideas out without any cross-pollination, but am going to do so right now. It's at Let me know what you think of either/both.

Talk Back!

Have an opinion? Readers have already posted 6 comments about this weblog entry. Why not add yours?

RSS Feed

If you'd like to be notified whenever Matthew Wilson adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

Matthew Wilson is a software development consultant and creator of the FastFormat, Pantheios and STLSoft libraries. He is author of the books Imperfect C++ (Addison-Wesley, October 2004) and Extended STL, volume 1 (Addison-Wesley, 2007), and is currently working on his third, Breaking Up The Monolith: Advanced C++ Design Without Compromise. He has published over 60 articles on C++ and other topics, and has served as columnist and contributing editor for C/C++ Users Journal. Matthew believes that code should be discoverable and largely self-documenting, and lives up to that by being a hopeless documentor. He can be contacted via or

This weblog entry is Copyright © 2005 Matthew Wilson. All rights reserved.

Sponsored Links


Copyright © 1996-2018 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use