Agile Lessons Learned 15 : Step Into The Light
This week I fell upon some old code I wrote back in 2006 when I was first learning Python. What a mess. I could not believe I was so proud of this code back then.
I remember being very proud of the fact that each and every single method, no matter how small or how high on McCabe’s cyclomatic complexity was thoroughly commented.
Back then, I was told this would greatly help other developers maintain the code. Well let me tell you what, I wrote the whole darn thing myself and the comments did not help me out one bit understand this code today. Talk about wasted time.
Time I could have spent writing automated tests. I spent the better part of two years building a system from the ground up WITHOUT a single automated system test. The system as a whole had a single class written using TDD and about two dozen unit tests ever executed on it.
Did it work ? Yes. Can I prove it to you ? Probably, but with great difficulty.
Would I like to maintain a system like that ? Not in a lifetime. The cold hard truth is that by the standards I have today, this code is terrible.
Was I a slacker ? Not at all. Quite the other way around actually. Back then, this code was a clean as any other code I had ever seen at that point in my life. I really did work hard on making this system the best I could. I even got praised on the results.
So is this blog a twisted way to tell the world I’m a better developer than I was 5 years ago ? Nope. Actually, it’s a praise to the developers I’ve met in the past 5 years. You see, 5 years ago I was not doing any pair-programming. I spent most of my days listening to indie rock* in my cubicle while writing Python all by myself.
Of course I was good. I was never challenged by anybody except when I went out of my way to get some help. Then it was back to more rock’n Python.
Then I met developers who were way better than me. First they put me through code reviews. Then I was pointed towards the right books. Then those crazy guys at Pyxis showed me how to do continuous pair programming.
It might seem intimidating to be constantly under the spotlight. I, for one, would never trade back the spotlight for my old cubicle.
So what are you waiting for ? Step out of your cubicle and step into the light. Grab the best developer your team has to offer and ask him to work with him. You’ll be surprised at how much you can learn in a single session.
Who knows, you just might show him a dew things too.
In the meantime, thanks to Xavier, Frank, J-F, J-S, Ben, Ernst, Patrice, J-C, the Marcouz, Vince, Bob, M-A, Carl, Nico, Phil, Monica, Cheng and all the others I have forgotten with whom I had the chance to pair with in the past few years. What I know now, I owe to you.
Nick
*I do admit it was a heck of a period for me music-wise, discovering the likes of Arcade Fire, the Black Keys, the Flaming Lips, Wolf Parade, DeVotchka, Interpol, Clap Your Hands Say Yeah, Bloc Party, etc. Music I still listen to today.




