Categories
Uncategorized

That coworker who never stops refactoring

We’ve all seen them. They drive the rest of the team crazy. How can we use them to our advantage?

Fred is on your team. He takes 5 times longer to build a feature than anyone else. When asked what’s the hold up, Fred responds that he’s tweaking a class definition or adding some out of scope automation instead of just building the dang thing that the ticket says to build. Fred drives the team nuts, and he often gets called a gold plater, or unproductive, or slow.

But in my experience, Fred isn’t slow at all. He’s just as productive as everyone else, but he’s solving different problems than the ones he was asked to solve.

Fred is more interested in providing value to other developers than to users.

Your team probably pushes back on that. Fred’s feedback (if he gets any at all, which is a topic for another post) is that he needs to work on his velocity and get through his tickets faster. In other words, you’re telling him to stop doing the thing that he loves. He can’t just change his interest, so the best case scenario is that he’ll push hard for a few months on the boring stuff until he burns out and quits, or falls back into his old habits.

Maybe Fred doesn’t need to change. Maybe he’s just in the wrong seat. What if the team leaned into what gets Fred excited? If he doesn’t care about providing value to users, but loves providing value to his fellow developers, then could that be his full time job? His responsibilities could include:

  • Automating anything that can possibly be automated
  • Making local environments run faster and smoother
  • Refactoring and managing tech debt
  • Quick and thorough code review
  • Streamlining the deploy process
  • Writing missing automated tests

Doesn’t it seem powerful, to have a person on your team completely dedicated to helping other developers be as productive as they can be? Imagine reaching out to Fred the second you had code ready for review, or when a build fails and you aren’t sure why, or when your can’t figure out why your debugger stopped debugging, or when you notice that some function over here basically does the same thing as some other function over there.

He loves that stuff, and he’s probably really good at it, because as they say, “being enthusiastic is worth 25 IQ points”. So maybe try letting him do it?

Feel free to tweet at me or check out the thread on Hacker News.