« The next few months.. | Main | Thoughts on the Future of the Boutique Software Shop »

September 09, 2009


Steve Hayes

I'm going in the opposite direction, and I suspect there's no turning back. I'm facing the half-life of my technical knowledge quite frequently, but it's being balanced by the excitement of providing a working example of an alterative business model. Of course, it's all hard and mastering any of it, technical or otherwise, is something to be proud of.

Rob Myers

Michael, it was nice to see you briefly in the passageway and wave hello. I wish I had had the chance to chat with you at length. Those hallway conversations always were the best part of OOPSLA & Agile.

The first transition coaching I did resulted in what I call "going native" where the powers-that-be encouraged me to focus on the technical. I was all too willing, even though my Spidey Sense was telling me that this would just propagate the team's status quo. Since then, I've really had to repress my technical talents, and any desire to rescue the project through "elegant test-driven emergent design." (It is something I'll encourage from the team, but it will fail if they don't feel they have the space to refactor, write tests, or pair-program when appropriate.)

Sometimes it does seem impossible to bring joy back to a team. But when we can align intrinsic motivators (creative work, new skills, pride in craftsmanship, etc.) with the production of quality, valuable software, the rewards--for the team, the organization, and for me--are far more potent.

You and I have been on oddly similar paths for many years. (Maybe I'm stalking you...? Nah!) When I teach courses on TDD and get to the section on legacy code, I talk about how you were often brought in to help a team "go Agile" but were then faced with a gazillion lines of spaghetti C++. (Somehow I lived a charmed life, and worked on many greenfield XP projects.) Then I quip, "but Feathers got a book deal!" ;-) Yep, Harrison Ford will always be known first as Han Solo, and you may always be the Master of Legacy Code.

You have a pleasant and gentle demeanor, Michael. I'd guess that most teams respond positively to that, and quite a few managers try to take advantage of it to keep their own agenda alive. I've had to learn to risk the whole contract, and my reputation, to say, "You know, what you think is slowing the team down is really not your first constraint. Here, I carry this mirror..." or something hopefully a little more diplomatic. ;-)

I guess what I'm trying (badly) to say, Michael, is: I hope the community isn't going to lose a great coach. We have to take project work occasionally to keep those technical skills sharp, and to "eat our own process dog-food" so to speak, but you have much more to give the software development industry as a whole, by demonstrating that a geek can also speak authoritatively about process improvement and organizational transformation.

These days, I tend to lead with that "face" (and it's become a real face, because I love to help people), and let my technical skills be a delightful surprise for my clients to discover later, when I roll up my sleeves and hammer out some elegant test-driven emergent design alongside one of their developers!

So, stay in the game. (Otherwise, whose career will I try to mimic?)

There's more to this conversation (particularly triggered when you said "it is all connected"), but my "rambling" alarm just went off in my head.

Itay Maman

Thank you. I don't know if you meant this to happen, but this post was very moving.

I kind-of went through an opposite shift: Up until a few years ago I believed that software development problems can be solved by better structure of the code, distribution of responsibilities across classes, occasional use of patterns, etc.

Then I changed my perspective. I know think that the process is a much more dominant factor. Baby steps, TDD, etc. will improve the quality of the program much more than any code-level thing.

I guess my next shift (no doubts, it will come) will take me back to Tech. land.


Richard Sheridan (Twitter Menloprez)

Michael -

Thank you for this (com)passionate post. It echoes my own walk and I had the opportunity to lead one team to agile when I was a VP and then build another from scratch as an entrepreneur. My programming career started in 1971 as a freshman in high school. I had my first programming job in 1973 and I couldn't believe people would pay me to do this thing I loved to do (I felt a bit guilty because I thought work was not supposed to be enjoyed that much.) I then became more of a professional programmer after getting a couple of degrees from a good university. That's when I began to question my career choice. Overtime was a "silent requirement" to keeping your spot on the team. Talking to customers was forbidden (at one place I worked the salespeople were fined $50 each time they were caught talking to a programmer!) Each of us became towers of knowledge which was supposedly efficient and meant we had job security. What is usually meant was missed vacations and family events because you couldn't scale "you" except be working overtime.

I am thrilled to say I've come out the other side for 10 years running. The joy is back! I don't code anymore but I am sitting in the same room (no walls, cubes or offices for anyone --- even the CEO), so I get to see the joy every day. 40 hour work weeks and never a weekend. Vacation requests are always honored. We meet our deadlines because if we need more done we can add more people -- its the hidden secret to pairing, coding standards, unit testing and code stewardship. Its amazing to me how few "agile teams" actually use ANY of those practices and they still call themselves agile! Its not perfect, but its a team and its a team that takes responsibility for itself! You can't imagine what its like to be a CEO of such a place. I hope you get a chance to visit sometime.

Ravi Mohan

"So, I've moved almost completely back into tech"

Welcome Home!


A beautiful post, Michael.

For me, it's about People, Process, and Tools -- in that order.

You seem to have all three mastered. No matter your type of participation in a gig and your personal feelings of "success," I am sure you always have a positive impact on everyone you touch.

iPhone contacts backup

that's very nice article I have read.
thanks so much.

The comments to this entry are closed.