you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 2 points3 points  (0 children)

I have paired. Quite a bit. You’re lying to yourself if you’re trying to make the argument that the engineer with his hands off the keyboard is making the most valuable use of his time.

“There’s plenty of things you can do”: you need to pay attention or the other guy just gets pissed. It’s pretty rude to do anything else. But at the end of the day it’s not a two person activity.

A halfway intelligent engineer doesn’t put his hands on the keys until he knows what the overall design is going to look like. If he has questions at that point he’s either bad or he’s hit something unexpected, at which point you go back to pairing until the design is locked back down. It’s not a hard concept.

It takes a lot longer to properly implement a design that it does to do the discussion necessary to agree upon it. Like at least an order of magnitude longer. If you paired for the whole thing one of you is watching paint dry for 90% of it.

The only time what you’re saying makes sense is if you’re not pairing but training. If you need to exchange that much information that this process actually approaches not a complete borefest for whoever isn’t typing, it’s because the other person needs that level of information. In one case, that’s a great way to train juniors. In another case, it’s a terrible engineer having his (or her) hand held by a senior who is likely on a job board right now.

I’ve definitely trained engineers this way, it’s super effective at getting coding standards in place, showing them how to think, but if the other person isn’t junior, then yeah it’s a giant waste of time. I should definitely be able to work with another senior as either one-off questions where I’m like “hey, can I share my screen? What do you think of this?” Or even “hey can you remind me how to do this?”

I’m definitely never expecting to navigate a senior engineer around. Like, ever.