News for hackers. Stuff that matters.
Re:The mortifying ordeal of pairing all day by ChrisMarshallNY on Monday May 10, 2021 @09:00AM (#27105498)
Pairing works great; as long as everyone is on the same "wavelength." That's absolutely vital, and has both good and bad sides.

The good, is what the author was talking about. That team cohesiveness, that he disturbingly compared to being in a Borg Collective, is something that can't be easily quantified, but can amplify energy and positive morale. The Marines have known this for a couple of hundred years. Every Marine I've ever talked to, has described, almost verbatim, what he said. About how the squads act as a unit; almost without thinking. The results are tough to argue with. They are a highly effective fighting force.

The price can be burnout (as mentioned). When everything we do is being channeled and amplified, we have to be "on" all the time. We don't get that "five minutes of spacing out" between modules. In my case, that's absolutely required.

It's also a young person's game (like being a Marine infantryman). As I've gotten older, my personal process has become almost supernatural, but it has also become incredibly draining, and that "down time" is now no longer a luxury, but a necessity. On days that I have had some really challenging work, like chasing a pernicious bug, or setting up scaffolding for a new architecture, I can be absolutely flattened by bedtime. I feel as if I have spent the day digging trenches.

Also, I work best in my own head. I can create a pretty sizable architecture in my head, and don't need to write down a thing. That makes for very fast development, and tremendous flexibility. I can tear down an entire architectural construct, if it proves ineffective, and rebuild it, in a few minutes (in my head).

The minute I need to communicate it, however, that efficiency goes right into the bog.

Re:The mortifying ordeal of pairing all day by qamark on Monday May 10, 2021 @11:37AM (#27107213)
Just a word about the Marine analogy in case some manager sees this and gets all excited:

Team work is much more natural if you are up against an external enemy in the broadest sense, like the military, farming, building an aircraft or a group of physicists taming nature.

It does NOT work for creative endeavours with a) a distinct amount of self-expression like programming or writing novels that b) also require enormous amounts of context in the working memory. This is why developers get into fights that easily.

(Please don't counter with "the humble programmer" and all that; we know, and Dijkstra himself wasn't humble. )

Re:The mortifying ordeal of pairing all day by mattzito on Monday May 10, 2021 @12:16PM (#27107671)
I agree with this perspective - the closest thing I've seen to this sort of "external enemy" approach in tech is engineers/SREs responding to an outage/critical issue. Good teams will get into a state of flow where people are subdividing work, prioritizing, working as a cohesive unit. In that case, there is a clear objective (get things back up and running) with a clear enemy (that DDoS/database/down payment gateway/datacenter power outage).
Re:The mortifying ordeal of pairing all day by randomswede on Tuesday May 11, 2021 @03:57AM (#27115417)
I have experienced it both as part of IT emergency response, as well as when cooking with (a very small subset) other people.

As long as everyone is "on the same wavelength" (I am sorry, I cannot quantify that better), it is basically effortless. You need someone to chop onions, and a few minutes later, they're just there. You sense that someone needs a filleting knife (they're just about to place a fish on a cutting board, or something similar that signals "this is the next tool needed") and you're close to it, so you make sure it is there for them (handle first, of course).

It is a very similar feeling to a well-integrated infantry unit making an entry into a presumed-hostile building, minus all the adrenaline.

Re:The mortifying ordeal of pairing all day by scruple on Monday May 10, 2021 @01:51PM (#27108779)
> Team work is much more natural if you are up against an external enemy in the broadest sense

This is why I've always found it frightening when some management type starts talking about the book Extreme Ownership. I am a veteran, though I was not SOF, and I have strong opinions about why military management mindsets do not translate well to the business world in _most_ cases. To be fair, I have not read the book, but from what I have heard from those who have read it, I would be wary of anyone trying to apply it to a software engineering shop.

Re:The mortifying ordeal of pairing all day by caffeine on Monday May 10, 2021 @06:01PM (#27111413)
Think you might be pleasantly surprised... concepts like “extreme ownership” (care about everything in your stack), “decentralised command” (push decision making to those doing the work), “cover and move” (help each other) actually translate pretty well.

The book is mostly about dealing with people rather than about engineering process, and I think the people aspects of a coding team and any other high performance team probably have a lot in common.

Re:The mortifying ordeal of pairing all day by marcosdumay on Monday May 10, 2021 @11:36AM (#27107198)
Wait, a squad is a bunch of people close to each other, working on different tasks over the same object. Pair programming is two people close to each other, working on the same task and same object.

Both have completely different problems and advantages. The different (often complementary) tasks make all the difference here.

Re:The mortifying ordeal of pairing all day by goatcode on Monday May 10, 2021 @09:28AM (#27105748)
The only way I've seen this kind of situation come about is if pairing isn't forced. "Forced" means leadership encouraging at every opportunity, ham-handedly, without considering context. If there isn't an extreme investment by leadership, badly-executed pairing will ensue, form what I've seen.
Re:The mortifying ordeal of pairing all day by kodah on Monday May 10, 2021 @10:49AM (#27106554)
Pairing is a decision made between two devs, not as a team or company, imo.
Re:The mortifying ordeal of pairing all day by goatcode on Monday May 10, 2021 @11:11AM (#27106780)
That's the work that leadership should assisting in -- enabling devs to recognize and move into situations where pairing is beneficial, and giving them the scheduling tools and methods to do it successfully. The best a company should be doing is helping devs to recognize the benefits, and when they are activated for a task, and importantly, when they don't exist for other tasks. It's still such a new area, business wise, that I think it's often done very wrong.
Re:The mortifying ordeal of pairing all day by MockObject on Monday May 10, 2021 @11:04AM (#27106707)
I've never seen or even heard of a place where pairing is optional. I've only ever seen it compulsory or forbidden.
Re:The mortifying ordeal of pairing all day by alistairSH on Monday May 10, 2021 @11:48AM (#27107348)
Pairing is optional at my employer.

As a manager, I'm always on the look-out for tasks where I feel pairing may provide value. These are often moderately complicated tasks where I want a more junior team-member involved. Or, doing green-field UI work, I'll suggest one of the more UX-savvy developers pair with a small group of developers.

I have also managed people who just like to work together and they're free to pair and unpair on an ad-hoc basis. I don't care, as long as progress is being made.

Edit - I've never "paired" in the way you suggest in a sibling response (assigning a ticket to 2 developers).

Re:The mortifying ordeal of pairing all day by goatcode on Monday May 10, 2021 @01:03PM (#27108222)
>Pairing is optional at my employer.

Is collaboration / pairing part of employee evaluation in any way?

Re:The mortifying ordeal of pairing all day by alistairSH on Monday May 10, 2021 @01:58PM (#27108857)
Not directly. If somebody actively avoided paired work, I'd probably ask them about it during a regularly scheduled 1-on-1. And if somebody was doing a spectacular job mentoring/pairing/etc I'd definitely mention it.
Re:The mortifying ordeal of pairing all day by goatcode on Monday May 10, 2021 @05:26PM (#27111066)
That seems pretty reasonable. I'd hate to work at a place that "didn't enforce" something, but had it turn into a 15 pieces of flair type situation.
Re:The mortifying ordeal of pairing all day by alistairSH on Monday May 10, 2021 @06:47PM (#27111807)
From my perspective, it’s a great way to mentor and facilitate knowledge transfer. It’s also great for working through coding roadblocks. It’s a useful tool, nothing more. Theres no mandate to use it at the office, it’s up to individual developers to use it appropriately and managers to facilitate it.
Re:The mortifying ordeal of pairing all day by varispeed on Monday May 10, 2021 @11:19AM (#27106910)
In many organisations pairing is encouraged, but not mandated - it means that if developer is stuck with something they ask if someone is available to pair to unblock them. Usually they'll find a person who loves pairing and get things done. In rare cases the PM would tell a developer experienced in the domain, to stop what they are doing and help. That's not too bad provided the interrupted developer gets an extra time added for context switching.
Re:The mortifying ordeal of pairing all day by MockObject on Monday May 10, 2021 @11:33AM (#27107162)
I think in every company, it is encouraged to help someone who is stuck. By "pairing", I mean that a ticket is assigned to a pair, who complete it as a pair. I've never seen a place where some tickets are done by pairs but others, solo. In my experience, if management isn't fully committed to the process of pairing, then they have a hard time understanding how pairing isn't wasting labor.
Re:The mortifying ordeal of pairing all day by varispeed on Monday May 10, 2021 @11:54AM (#27107440)
I see. I tend to avoid organisations that have such culture - I tried this and for me it is too mentally exhausting to constantly be paired with someone.
Re:The mortifying ordeal of pairing all day by kodah on Monday May 10, 2021 @11:10AM (#27106772)
That's definitely not ideal. Ideally pairing is "authorized" not mandated.
Re:The mortifying ordeal of pairing all day by ChrisMarshallNY on Monday May 10, 2021 @02:22PM (#27109136)
Sorry about the military reference. I seem to have banged a couple of sore spots.

I'm not a vet (but my parents are planted in Arlington), but I've spent most of my adult life surrounded by them, so I've heard a lot of stories, and they are very practical, pithy applicable stories.

They often spring to mind, when I think about my work.

And we developers may not be thinking in military terms, but the chances are better than even, that the Corner Office is trying on a jacket covered in medals.