Live data from Hacker News

The mortifying ordeal of pairing all day

simplermachines.com

61–70 of 308 posts

Re: The mortifying ordeal of pairing all day

#61
post #24

Sounds like the underlying reason is a link between performance and endurance. If you're achieving very high productivity, you can't do 8+ hours per day every day. I wonder if it would possible to find a balance of doing shorter days / working fewer days, and offsetting that by being more productive in the hours that you do work.

8+ hours is not okay not every other day or even less frequently. Ok, once in a while is ok if one is in a good rhythm and they are enjoying themselves. But after 4-6 hours productivity drops sharply and starts to erode from the following days: fixing up poorly made design choices, etc If your employer expects you to be productive 8 hours a day I’d look for something else

This is something that I find very hard to explain to non-technical managers when I run dev teams.

There's the expectation from non-technical managers that time away from the keyboard is "wasted" - that coding is a matter of pushing the buttons constantly, and that code is of a consistent quality, so more of it is better.

There's also the bullshit long-hours work culture where leaving work before the boss does is somehow unacceptable.

The best approach I've found is to explain that the codebase is an asset that can be damaged. And the code itself is a liability - it must be maintained in the face of changing requirements and technology. "More code" is worse, not better, for the company. So having tired developers write bad code is both damaging our asset and introducing more liabilities. We need our devs rested and on their game to avoid that. We need them thinking deeply about the code they're going to write. And that thought doesn't have to occur at the keyboard. Good devs think about their code while going about the rest of their lives.

It's better if a tired dev goes home to rest rather than continuing working on the code, because they'll just end up damaging it if they work on it tired.

It's better for a dev to go for a walk to think deeply about what they're doing rather than write code that they're not sure about.

We don't want devs working on the codebase after ~8 hours, because they probably haven't thought enough about what they're writing.

It can work. Depends on company culture.

There's also so much bullshit in dev culture itself about "marathon hacking sprints". I bought into this myself, did a 32-hour sprint to meet a deadline. It was a complete mess. I would have been so much better off getting some sleep, a decent meal, and going for a walk in the middle. I think most devs go through this lesson at some point.

Re: The mortifying ordeal of pairing all day

#62
post #39

> Over time, over years, pairing wore me down. Took a little bit more each day than I could recover. Until my life was working, and recovering from work, and then working some more. This can be true of any demanding job. Pairing is like running or cycling together. One person will be faster or have more endurance than the other. The slower one must set the pace or they will get exhausted quickly. For sustainable dail…

That's not true in my experience. I also participated in such an "experiment" and I'm normally the one with more endurance and speed, able to do overtime, or work on personal projects after hours. In my experience, with daily pairing, both workers felt completely drained of energy after 4 hours (including pauses). Pairing a couple hours a day, or a couple times a week is alright, and very productive. Doing it 5 days…

https://news.ycombinator.com/item?id=27082522 - this guy is cut out for Extreme Programming. If something is good, why not have it all the time, right?

We mortals, are likely more suitable for moderate programming, with infrequent informal pairing when necessary.

Re: The mortifying ordeal of pairing all day

#63
post #50

Earlier quoted context omitted.

> there was a Fight-club-style "rule" How did this rule maintain itself when essentially no one supported or agreed with it? (except the two 'leaders') Why wouldn't people take advantage of opportunities to push back against it, when for instance, the CEO asks what's the problem?

Sorry if I didn't make it clear: the junior developer did take advantage of it when CEO asked. Also it was only really enforced during Sprint Retrospectives.

Not raising obvious problems with the process sounds just as dysfunctional as the pairing idea that created the situation in the first place.

Re: The mortifying ordeal of pairing all day

#64
post #2

“Teams had half as many workstations as they had engineers.”

Yes, that's how pairing works: two people, one keyboard, one workstation. Having done this for a while, I wholeheartedly agree with everything the author says. It's great for software quality and productivity (among other things, it's much harder to slack on HN), but it's also incredibly draining and definitely not for everybody.

Not necessarily.

I occasionally pair with someone, though it's not enforced or even suggested in any way, just a result of discussing a problem for long enough that one of us says "wanna pair on this?".

We use either tmate (a fork of tmux specifically for pairing) or a VSCode plugin, depending on whether what we're pairing on.

I can very much recommend tmate.

Re: The mortifying ordeal of pairing all day

#65
post #63
post #50

Earlier quoted context omitted.

Sorry if I didn't make it clear: the junior developer did take advantage of it when CEO asked. Also it was only really enforced during Sprint Retrospectives.

Not raising obvious problems with the process sounds just as dysfunctional as the pairing idea that created the situation in the first place.

Oh, yes, you're absolutely right.

In the end it's all just part of a much bigger issue within the whole company.

Re: The mortifying ordeal of pairing all day

#66
It seems interesting but rather inefficient since you can just do things faster than explaining them to someone and having them do them.

It seems like it would only be good on tasks where having your partial work continuously reviewed is very valuable.

Re: The mortifying ordeal of pairing all day

#67

Since the comments here are mostly people appalled by the idea of pairing - try it before you knock it. Even the author says there's a lot of benefits to it, but it wore down on them over time. I did pairing for a few year at a company early in my career. Some days it felt draining, but I learned a lot , quickly, from working with senior engineers and seeing how they approached problems or building systems. You even…

I also find this to be the case. Specially on ramp-up the difference is night and day.

I also felt a motivation boost in certain situations.

As with everything, if it makes sense or not, depends on a lot of factors:

  Who are you pairing with? 
  How long? (hours per day/days per week..)
  What type of problem are you solving?
All these and more, need to be taken into consideration. Just forcing people to pair is probably not a good idea.

EDIT: Reading a bit more about pairing in general, there seems to be a lot of emphasis on the "one keyboard per pair". I like to keep two keyboards/computers per pair so that I can quickly jump between solo and pairing, to test ideas, investigate etc

Re: The mortifying ordeal of pairing all day

#68
Pair programming generates visceral responses due to it being introduced as if it were fact, which for me always triggers my spidey senses. People who didn't like it were told "you're doing it wrong" or "you didn't give it a proper chance". Dismissing criticisms out of hand only furthers distrust, regardless of the actual value of the idea.

I played along and paired for awhile, but now steadfastly refuse to pair, ever. I work best within my own mind, and the distraction of talking to someone breaks my concentration such that I'm unable to keep the big picture in my head anymore. The irritation of being that close to someone and having to engage with them for even half an hour is draining, and I took more frequent and longer breaks because of this (much to the annoyance of my pair-partner, who couldn't work while I was away).

There may very well be people who work well in pairs, but rest assured that there are those who aren't built that way. Don't disparage them, don't discriminate against them, and don't play the moral superiority game with them. Accept their diversity and be a better team for it.

Re: The mortifying ordeal of pairing all day

#69
post #54

Earlier quoted context omitted.

This sounds awful. It's amazing how workplaces can get in these kind of darkly comic places

This was a very strange workplace. Its atmosphere was half frat-like and half cult-like. There was literal chest beating and shouting motivational stuff during sales meetings, an incredibly amount of beer (which isn't necessary an issue, but in this case it was ), sometimes drugs (which led to some people being fired whenever it became public), lots of sexual harassment complaints (which also led to some surprise fir…

> The cult-like part was the CEO fancying himself some Steve Jobs type, doing two-hour long presentations on random topics like his favourite economic ideas, or presenting a treatise against post-modernism. I of course knew which youtube videos he was plagiarising.

Amazing. So ”Michael Scott from The Office”-type people really exist out there.

Post reply on HN