How can something seem so right, and yet so wrong, at the same time? Easy.
When the person who speaks is different than the one listening, which is usually the case, and there’s a translation problem.
Consider the term “Refactor mercilessly”. I don’t recall when I first heard it, but it definitely caught my ear (and you know how painful that can be). You can just imagine yourself hacking your code into shape, like Edward Scissorhands. And you’re not done until everything is trimmed, there’s no excess fat, no stone left unturned, and no cliché left unused.
To use technical terms, you renamed everything in a readable fashion, you Didn’t Repeat Yourself, and your design was improved 15 times already today.
And that sounds great, like a battle cry of a professional developer. “Professionals refactor mercilessly!” (and other’s don’t).
But how does this sound to the non-technical person?
The first thing he asks is “What’s refactoring”? and you answer: “It’s changing the code without changing functionality”.
Say it out loud to just to hear how much refactoring sounds like a waste. Non-developers will never remember the second part “Refactored code makes maintaining it feasible and cheaper”.
But that’s not enough. As a true professional, you exclaim:”I refactor mercilessly!” and after you use the explanation above, the non-tech guy, who may be your manager (or future hiring manager) now looks at you funny. Maybe for the last time.
How can something seem so right, and yet so wrong, at the same time? When we don’t understand how we sound to the other side. It can also have some disastrous effect on our careers.
Want to hear more? Catch me on Friday on NDC 2011, Oslo. There’s going to be more of that.