Pair Programming?
Can you imagine being told in 2021 that all your coding work would now have to be pair programming?
Your company has spare money and hired extra SWEs so they're making pair programming the norm.
I think most of us would have flipped.
But isn't that what a lot of the AI coding solutions are trying to do?
You write a line, it writes a few more, you have to review and adjust it to continue.
This isn't what we imagined with AI coding.
10 comments
[ 0.22 ms ] story [ 885 ms ] threadNo.
At my current job we pair program using a zoom call for everything with the person writing the code sharing his screen.
Sometimes there can be 4 or 5 of us on the call.
We are far more productive than any place else I've worked.
The fact that you have to write the f-ing code right now alone changes everything. I guess you can ignore impulses to overcomplicate things much more easily? The code becomes unclever and accessible to everyone on the call?
We are far more productive than any place else I've worked.
Divided by 4-5 or that’s per person?
Yep, bullshit gets called out immediately.
> Divided by 4-5 or that’s per person?
Compared to other places, I'd say what took teams much bigger than us weeks or months we can do in a days.
But we have very little bullshit standing in our way, we work in 2 day sprints, but without all this sprint ceremonies. No retros, no standups, no kanbans, no story boards points. It's just "here's a business problem, you've got 2 days go make us a solution". After 2 days we can demo it, and if its good enough then we can move onto the next highest priority problem, or maybe the solution does X,Y and Z but then they decide they'd also like A, B and C we can keep working on it.
We also have our SME / PO on the call with us all day too, so we can get immediate feedback from them as we are dev'ing. EVerything is centered around having little no time between us actually doing the dev work and getting feedback on it. We can iterate really fast.
And because we have multiple devs on the call, we don't need PRs or code reviews.
Some developers absolutely hate this setup though, and just seem unable to code when other people are watching.
Some developers absolutely hate this setup though, and just seem unable to code when other people are watching.
It passes with time, but yeah, onboarding some of them to this group must be impossible. I knew some “quantum” guys who couldn’t move while someone watches. Also highly correlates with bikeshedding. It’s usually confidence-related anxiety that should be addressed either way.
AI assisted coding isn’t pair programming as AI never takes any initiative. It’s more like handholding or having someone poorly look up API docs for you.
At first, we did only 2 hours a day increasing the time every week.
Personally, I found it more productive than two people working alone, mostly because of the fact that you and your partner working together:
- Improves knowledge transfer
- Reduces distractions (two people working together are seen as "busy" by others, while one single person is not)
- Improves problem solving
However, not every problem is made for pair programming. Working out an algorithm or implementing an RFC can be a pain :-)
A lot of the earliest AI tools were sold as exactly that - pair programmers who aren't hovering over your shoulder. Copilot was the first to get it at a passable level. Cursor did it properly.
It's a similar effect - it checks your typos, your semicolons, fetches enums for you. You ask it questions, but can't completely rely on it. You bounce ideas off it, it bounces ideas off you.
* There is no social stuff to deal with. You want a break but don't want to look like a slacker, so you keep going. Etc.
* The assistant can be turned off. It can also be turned on at 1am if you need it.
* The assistant has the reasoning power of a flea and knows nothing of your mission. Had to use Github Copilot due to AI policies and that is worse than most of the scrappy startup ones, in that it won't even look at other files.