Hacker News new | ask | show | jobs
by maxaf 2340 days ago
> Half of engineers prefer to work at a company that does pair programming

Well, I’m glad that it’s only half. Isn’t that neat?

I wish this meme of “company that does pair programming” would die a slow and agonizing death. Not everyone’s brain is wired for pair programming. I do plenty of presenting at work, where I share my screen and write code, Twitch-style, for an audience of coworkers. I do this in order to convey material to a captive audience, not as a baseline method of doing work. “Teaching” and “programming” are two non-overlapping activities for me, as the communications aspect tends to overtake most of my mental capacity, leaving only a precious few cycles for problem solving and creativity.

Any company that considers itself special enough to change how people work is not only delusional, but will also burn through good people who are neurologically different from the type that enjoys pair programming.

In short, flexibility is the name of the game.

4 comments

I like working with someone for short stints on a problem - like... perhaps an hour or two per week. But... that's not 'pair programming' so much as 'talk through a problem, work out some ideas... or just "collaboration". I don't think I've ever seen some place where 'pair programming' was a 30-40 hr/week norm, and I'm not really sure it could be for almost anyone, as it's going to require a lot of synced schedules for 2 people, and, as you said, similar working styles.

I think "pair programming" is now some nebulous term people use to mean "can you talk through your code issues with someone else?".

I don't think anyone's brain is wired for pair programming. Maybe it's tolerable for people who are in early years of their programming career and are also writing in very inexpressive languages to spend too much time dealing with the code, still learning languages and approaches to writing, structuring code, rather than deeply thinking, exploring. Maybe some people just see this as an opportunity to spend more time on learning about writing code, maybe socializing, maybe even an opportunity to avoid doing hard work. But it's just not compatible with programming in general and for many it's more like plain and simple abuse, an attempt to pressure them to work harder.
> I do plenty of presenting at work, where I share my screen and write code, Twitch-style, for an audience of coworkers. I do this in order to convey material to a captive audience, not as a baseline method of doing work. “Teaching” and “programming” are two non-overlapping activities for me, as the communications aspect tends to overtake most of my mental capacity, leaving only a precious few cycles for problem solving and creativity.

Maybe the problem is that you're approaching it as "teaching" instead of working in close collaboration with other engineers to achieve a better solution to a problem than what you could've come up with on your own? You might be a senior, but there's always something to learn in how someone else approaches or thinks about a problem, and you're depriving yourself of the chance of becoming a better programmer if you reject this outright.

Pair programming is not for everyone, nor everyplace or time. Like most programming techniques it has its pros and cons and should be considered before adoption in a team, or worse, being forced into adoption. But it certainly has tangible benefits in sharing knowledge within a team quickly and achieving optimal solutions in a more immediate way than, say, a code review would.

I loathe pair programming. Do people play pair chess?
Pair chess is actually pretty common, especially among people who aren't experienced chess players.
There’s “pair tennis” (I know nothing about tennis, so apologies if that’s not what it’s called) which seems to flow alright, but tennis is a much more tightly constrained activity than programming. There are only a few actions each player appears to perform, with all other actions explicitly falling out of bounds set by rules of the game.

Chess is a much wider problem domain. I can’t imagine anyone playing pair chess.

Really? You've never seen two people on a team playing chess (discussing the best move, etc)?
Each player has his own board side so you wouldn't notice.

https://en.wikipedia.org/wiki/Bughouse_chess

I assume that's what he meant.