News for hackers. Stuff that matters.
Re:Pull Requests vs. Pair Programming by legerdemain on Monday October 04, 2021 @02:13AM (#28743609)
Pair programming means writing code during a meeting. If you want to avoid wasting effort on coding up an inadequate design, the solution is design docs, not synchronous meetings.
Re:Pull Requests vs. Pair Programming by TameAntelope on Monday October 04, 2021 @09:00AM (#28746093)
Pair programming is a way of transferring tacit knowledge that's literally an order of magnitude more effective than trying to document that tacit knowledge, mostly because documenting tacit knowledge is extremely difficult.

But ultimately it's a culture thing -- if you're hired into a culture that values pair programming, you're hurting your team by not also valuing pair programming, and vice versa (you can't make a bunch of introverts enjoy spending hours with someone giving them guidance over their shoulder).

Honestly, being an introvert here is a hinderance to growth; it's vastly superior to run through a problem as a pair when someone has better knowledge about that problem than you do.

Re:Pull Requests vs. Pair Programming by corpMaverick on Monday October 04, 2021 @09:16AM (#28746284)
I had to google this one. "Tacit knowledge is the intelligence we have that is gained through the personal and professional experience you've learned both in your current role and previous jobs. It's the knowledge that's difficult to explain and challenging to document"
Re:Pull Requests vs. Pair Programming by erik_seaberg on Monday October 04, 2021 @10:57PM (#28755019)
Pairing for knowledge raises the bus number from one to two, which doesn’t help for that long in the current market for devs. Documentation is what endures.
Re:Pull Requests vs. Pair Programming by TameAntelope on Tuesday October 05, 2021 @12:23PM (#28761570)
I worry you missed the "documenting tacit knowledge is extremely difficult" part. Tacit knowledge is notoriously hard to document in a way that successfully transfers the knowledge from one person to another. Pair programming is at least an order of magnitude more effective, if not more.
Re:Pull Requests vs. Pair Programming by erik_seaberg on Wednesday October 06, 2021 @12:35AM (#28769244)
If two people build a feature, two people are slowly forgetting how and why until they move on, and nobody else gets it at all. It is easier than documentation (which I agree is hard enough to more than double the dev time), but it only postponed the problem a little without solving it.
Re:Pull Requests vs. Pair Programming by rixed on Monday October 04, 2021 @02:24AM (#28743677)
My thoughts exactly, but I'm surprised how hard it is to change the usual code review based routine where the design is only revealed with the actual code and tests when everything is done and it's too late to discuss the premises.

My best guess is that developers just love code reviews. But now that I think of it, maybe they rather loathe writing plain English. Maybe there exist some simple yet more or less formal language that could be used to write design docs?

Re:Pull Requests vs. Pair Programming by legerdemain on Monday October 04, 2021 @02:40AM (#28743770)
Everywhere I have worked, code "review" was a cargo cult of people mechanically rubber-stamping each other's changes with zero context or consideration. And these weren't particularly dysfunctional companies!
Re:Pull Requests vs. Pair Programming by watwut on Monday October 04, 2021 @03:04AM (#28743928)
I worked in a place where it was not like that. And it was dysfunctional.

Instead, people nitpicked to death and tried to one-up each other with findings. There are loooong arguments over completely irrelevant details. There were multiple rounds of review, sometimes changing the code there and back again. People attempted to code into review comments. And the expectations changed every week, there was no stable standard.

It was more about taking control and showing yourself more caring by finding increasingly insignificant things and then insisting on them.

Re:Pull Requests vs. Pair Programming by ryohkyo on Monday October 04, 2021 @04:47AM (#28744515)
Oops, and I thought civil engineering was messy. Time to switch back to civil engineering, at least it is, more civil than this.
Re:Pull Requests vs. Pair Programming by legerdemain on Monday October 04, 2021 @04:32AM (#28744419)
Code reviews are a smell.
Re:Pull Requests vs. Pair Programming by pferde on Monday October 04, 2021 @04:45AM (#28744504)
"Only children and fools speak in absolutes." -someone, somewhere, I don't remember.

Code reviews can be a good thing or bad thing, depending on what each party brings in and intends to get out of them. Painting them unequivocally as bad is rather silly.

Re:Pull Requests vs. Pair Programming by TameAntelope on Monday October 04, 2021 @10:02AM (#28746820)
Not wanting someone to review your code is a bigger smell, IMO.
Re:Pull Requests vs. Pair Programming by regularfry on Monday October 04, 2021 @08:01AM (#28745588)
Code reviews are one of the very few software practices that there's good evidence in favour of.

This is not necessarily in conflict with your statement.

Re:Pull Requests vs. Pair Programming by nicoburns on Monday October 04, 2021 @07:04AM (#28745209)
I reckon if you have all senior developers, and design considerations are being dealt with / communicated about in other places (e.g. ahead of time, before the code is written). Then this is largely how things should go: a quick once over to try and spot obvious mistakes. I've worked in companies where code review was like this and it worked pretty well.