4 ms·
Pair programming is a great way to do knowledge sharing and collaborate on tricky problems. Now, I don't really want a multiplayer editor, but I'll highly conte
by accelbred 2mo ago
Pair programming is a great way to do knowledge sharing and collaborate on tricky problems. Now, I don't really want a multiplayer editor, but I'll highly contest that coding is solely a solo activity.
Sometimes I feel like people online hate all their coworkers. Thankfully, such people have not been highly represented amonst those I've worked with.
- dozerly 2mo agoI am willing to bet there’s a strong correlation between people who post/comment on Internet forums and anti-social behavior.
- phoghed 2mo agoThere’s tons of reasons - antisocial people - larpers and students and shit who don’t even have a job where they write code but comment like they do - people who don’t do shit for 3/4 of the day and don’t want to be accountable for that - people who work with too many idiots Probably lots of other reasons. Personally I think it’s fun and useful, but I wouldn’t want to do it exclusively. Maybe scheduled hours a couple times a week. LLM aided development can be very similar experience. Also a great teaching tool. Big part of my job currently is taking slop level Pinocchio prototypes and turning them into a real boy. I’ve decided that I’d much rather have all of the conversations these people have had with Claude when creating the project than the final code artifacts. Hopefully we get more tooling in that direction.
- apetrovic 2mo agoASOCIAL people prefer solitude. ANTISOCIAL people doesn't care about society, are harmful towards other people, break laws, etc.
- phoghed 2mo agoIf you’re trying to diagnose a personality disorder sure. If you’re just using it colloquially then no it doesn’t matter.
- fr2029 2mo agoOf course it matters, using "antisocial" in this context is plain ignorant and wrong.
- phoghed 2mo agoNo, it’s completely correct. Dictionary definition #1 from dictionary.com for “antisocial” > unwilling or unable to associate in a normal or friendly way with other people. Furthermore, were you or the original pedant actually confused by what I meant? I seriously doubt it.
- docmars 2mo agoGod forbid a well-meaning person need privacy and solitude to get work done in a meaningful way, just as other inventors and geniuses did in their private homes throughout history, and later came together with others to share their findings. This idea that we need to be married to other co-workers throughout each day has all the same dysfunctional attributes as a nanny state or a daycare, where employees are treated as untrustworthy and needing to be monitored at all times. The fact that talented engineers are able to contribute meaningfully, with few errors, and with brilliant solutions, all on their own, is proof enough that coding in solitude is a completely reasonable preference, that's shared among most of the engineers I've met in my career. There's no reason to be so dogmatic about this.
- phoghed 2mo agoHey docmars you want to pair on this? NO TOM I DONT WANT TO FUCKING MARRY YOU GOD FORBID, ME, A TRULY TALENTED ENGINEER AND GENIUS, TRY TO GET ANYTHING DONE FUCK THIS FUCKING NANNY STATE BULLSHIT as you return to clipping your toenails in the office
- docmars 2mo agoThis was genuinely funny, gotta hand it to you. I wish I were this insufferable, alas. Truthfully, I don't mind pairing on something if someone needs help and doesn't mind doing it asynchronously instead of sitting on a video call all day pointlessly when Slack will work just fine. :) The reason I went to hyperbole with this one was because a prior startup I worked for required everyone to pair on every ticket, whether they liked it or not. I simply refused, and they were fine with it, because they liked the work I did. If I needed to collab on anything, I'd just talk to the other engineers. And guess what? We survived and did amazing work together as a team!
- SwellJoe 2mo agoAh, now I hate all my coworkers because I don't want to share a keyboard. Incredible insight.
- 0x696C6961 2mo agoIf you're not sitting in a group of 5 watching one guy code, then you're not a team player.
- phoghed 2mo agoBro I can drive the car alone why do rally racers have two people in the car? Now I hate my coworkers because I don’t want to share a wheel? Smdh
- wasabinator 2mo agoIt's less hating coworkers and more enjoying the perfect logic that comes from interacting with a cpu versus the fuzzy nature of human moods etc. It's likely why a lot of people (myself included) got into coding.
- replygirl 2mo agopair programming is when two people collaborate on engineering decisions while one of them codes.
- docmars 2mo agoYea that never made sense to me. I think and solve problems as I code, and having someone yapping while I'm trying to do that is a great way to disrupt my thinking process.
- worthless-trash 2mo agoIn my limited experience, the 'pairness' part of pair programming , is best done in silence. The discussion / planning happens up front, the keyboard person does the implementation and the second person doesn't 'backseat drive', but thinks about test cases (writes it down), thinks about weaknesses (writes it down) and writes documentation while the code is written. All of these are reviewed before commit. The 'interrupting' while coding is the shitty part (I agree with you), not having someone working with you.
- docmars 2mo agoI don't really see how this provides any benefit over pairing asynchronously, pinging with questions or updates on what's shifted, sharing pull requests, requesting comments, etc. This process respects each other's time and allows each person to visit the relevant pieces without interruption. The common rebuttal to this is "Slack messages are too interrupting!" and my response is: ignore the message until you're in a good spot to address it, or if you can't spend meaningful time on it yet, just reply with an "I'll check this out later, thanks!" The idea that we have to sit on a video call in silence while losing the ability to think and write privately is such a huge distraction. Half of my mental bandwidth is occupied with self-consciousness of being "watched", or if I have my video off, it's the idea of being present and tied down by simply being there. As someone with ADHD, those circumstances do not mix and eliminate any possibility of being productive because it's too distracting on all fronts. Not to mention, I need intense music to really get in a flow state. You might be surprised by how many engineers feel this way because they similarly experience neurodivergent realities around this.
- TeMPOraL 2mo agoIt's not hating coworkers. It's more that state of flow is not compatible with collaboration with other people. Getting to pair programming flow is basically like the neural "Drift" in Pacific Rim: it just doesn't work with two random people, or with shifting moods, energy levels or priorities.
- exfalso 2mo agoIt does happen, but it's very very rare. I met maybe 2 people in my career I could do this with.
- svieira 2mo agoThat actually makes the "Drift" analogy perfect, because you have to be "Drift compatible", you can't just grab two people off the street and throw them in a Jäger together and have it work.
- presentation 2mo agoI don’t get in flow but I do feel like it’s similarly productive though. Right where I would lull in energy or lack the motivation to think through something difficult I can unload some of that on the other person and feel like as a pair we are keeping each other accountable. Can be productive this way even without the same flow state.
- ljm 2mo agoThere aren't that many good ways to mentor or share experience in a team without pairing though. Sometimes it's just better to sit down with someone and directly collab, and let the person with less experience do the driving so they get the muscle memory. This is an easy transfer of skill and knowledge and it works well because it's hands on. AI doesn't make that very easy if you're just two people staring at an agent, but I think a lot of people who aren't already senior are going to hit a wall they can't climb when their experience limits what they are capable of doing with AI. As with many things, usually the bad experiences with collaborative methods come from a specific implementation and those experiences become the bias.
- 2mo ago
- simjnd 2mo agoI read "coding" as literally the act of being in the text editor and writing the code, not the encapsulating job of defining requirements, desigining a solution, etc. which is definitely not a solo activity. But I agree with OP that when comes the time of sitting down and writing the code, it is a solo activity. I want to lock in and not see multiplayer cursors or avatars popping up around the editor. The part before and after that are for collaboration, but writing your piece of the code is (or at least I like it to be) solo.
- deleted 2mo ago[deleted]
- gofreddygo 2mo agoPair programming is also a great way to foster anxiety, shill arguments and have your engineers hate each other worse than they hate the job. I like my neighbors and love to spend some time being nice to them. Pair programming is the equivalent of being forced to live with a random neighbor in your home and you both still pay full rent/mortgage of your respective homes.