I am writing a blog post about why it is bad to use AI.
-
@griotspeak @mcc @glyph @mhoye honestly, I love pair programming. I would pair most of the time and ditch asynchronous PRs if given the choice. And part of the issue with mobbing was just plain toxic management.
With pair programming the balance of dynamics is usually such that as long as you have two people working in good faith and a good culture you can usually work it out and be flexible enough for both parties. It’s also easier to pick and choose effective effective relationships.
My experience with extended (as opposed to occasional) mob programming is that it requires actual skills/training and either a specific set of personalities or a lead with strong emotional intelligence in order to bridge the gap. Mobbing is a lot harder to get right and if any team wants to try it for extended periods I whole heartedly recommend getting an experienced coach in.
@griotspeak @mcc @glyph @mhoye
In the job where this was an issue management refused to provide any of that. It was implemented badly, we went straight into chaos with no guidance. We had certain individuals with certain neurodivergent traits who, and as I say this I lay the fault at management and not these individuals, flourished at the expense of the rest of the team. Leadership refused to step in in order to make sure that everyone’s needs were met while still insisting on mobbing.
I can’t speak for the other individuals who got burned out.
-
@FayeDrake @mcc @glyph @mhoye What about mob programming burned folks out? I’ve always kinda wished mob programming or pair programming was more common than “go off somewhere and return with the PR” but it sounds like it didn’t have much upside where you were
@griotspeak @mcc @glyph @mhoye honestly, I love pair programming. I would pair most of the time and ditch asynchronous PRs if given the choice. And part of the issue with mobbing was just plain toxic management.
With pair programming the balance of dynamics is usually such that as long as you have two people working in good faith and a good culture you can usually work it out and be flexible enough for both parties. It’s also easier to pick and choose effective effective relationships.
My experience with extended (as opposed to occasional) mob programming is that it requires actual skills/training and either a specific set of personalities or a lead with strong emotional intelligence in order to bridge the gap. Mobbing is a lot harder to get right and if any team wants to try it for extended periods I whole heartedly recommend getting an experienced coach in.
-
@glyph When I think about "AI" I often think about how we had cities built to be navigated by people, and then we rebuilt the cities to be more easily navigated by cars, and now people without cars can't navigate the cities because we specifically designed them to require cars
RE: https://mastodon.social/@mcc/116314231162423866
@mcc @glyph this is an apt way to describe it, not even a metaphor. digital spaces are an extension of architecture, and the more we think that way the better we can understand the consequences of interface design
-
@griotspeak @FayeDrake @mcc @mhoye personally I used to be of the opinion "pairing is always good, you just gotta give it a try" and for a lot of people, even some who thought they wouldn't like it, I was right. but for a few people (who I have now long since made amends to) the growing expectation that they would do it all the time made them feel anxious about coming in to work.
I've never been anywhere that it really settled in to a final steady state that everyone was happy with.
@glyph @griotspeak @mcc @mhoye very much so.
Both mobbing and pairing require emotional intelligence, or at the very least leadership who can ensure that needs are met for everyone.
My personal experience is that mobbing requires exponentially more of both and in some cases just isn’t practical.
-
@griotspeak @FayeDrake @mcc @mhoye indeed. in my own imagination too! the difficulty that Faye points out is real—if you try to force people, you get higher turnover and alienate a whole personality type (one that's common in tech and tbh kind of important to round out a team). but if you make it "optional" then you keep getting back to the default assumption that it is a "distraction" to pair with someone (or mob with the team) where only the "primary" gets credit for closing "their" tickets
@glyph @griotspeak @mcc @mhoye with the “optional” part, at least in pairing, a big part of that is culture.
There’s a shift to be made in a team from “a group of individual contributors” to “we all sink or swim together, and it’s the job of the experienced members to lift up their juniors”.
This is, and again I speak from experience, a very difficult shift. But it makes a massive difference to both morale and productivity.
I’m lucky to work in a team where the senior staff are all of that mindset and we’re able to propagate it to anyone who joins. Honestly, it’s the only reason I’m still here.
But again, you need a bunch of powerful and emotionally intelligent people to set that baseline. And that’s… not guaranteed in engineering teams.
-
@griotspeak @FayeDrake @glyph @mhoye Is mob programming the one with random encounters
@mcc @griotspeak @FayeDrake @glyph I think it's the one where it's a real nice codebase you've got there and it'd be a shame if anything happened to it.
-
I am writing a blog post about why it is bad to use AI. It is extremely heavily sourced. I have a tedious automation problem formatting my citations. No problem, I think. I will write a computer program. The computer program does not work, because websites are blocking simple computer programs in an effort to block AI. Solution? Simple. Browser comes with AI embedded, browses like a human, has all my cookies. Just ask the AI. It sails through the primitive anti-AI measures easily.
@glyph *hiss*
-
serious question though, is there a requests (or httpx or treq or whatever) compatible selenium driver so that I can write a simple Python CLI that just says "give me URL please" and Safari does all the HTTP traffic so it can get the request body with all my ridiculous CAPTCHAs and news website logins in it
@glyph@mastodon.social There was this.
-
@mcc @griotspeak @FayeDrake @glyph I think it's the one where it's a real nice codebase you've got there and it'd be a shame if anything happened to it.
@mhoye @mcc @griotspeak @FayeDrake @glyph this got a a solid lol from me
-
@glyph @griotspeak @mcc @mhoye with the “optional” part, at least in pairing, a big part of that is culture.
There’s a shift to be made in a team from “a group of individual contributors” to “we all sink or swim together, and it’s the job of the experienced members to lift up their juniors”.
This is, and again I speak from experience, a very difficult shift. But it makes a massive difference to both morale and productivity.
I’m lucky to work in a team where the senior staff are all of that mindset and we’re able to propagate it to anyone who joins. Honestly, it’s the only reason I’m still here.
But again, you need a bunch of powerful and emotionally intelligent people to set that baseline. And that’s… not guaranteed in engineering teams.
@glyph @griotspeak @mcc @mhoye sorry, to clarify, by “optional” I mean the focus in this sort of culture is to provide for the needs of the individual. So if someone says they work best going off alone, we’ve built up enough trust to pack them a metaphorical lunch box and send them on their way.
Again. Kind of a unicorn culture and I’m not sure I’ll ever see this again.
-
@glyph *hiss*
@mirabilos please do see the rest of the thread for context
-
@glyph @griotspeak @mcc @mhoye sorry, to clarify, by “optional” I mean the focus in this sort of culture is to provide for the needs of the individual. So if someone says they work best going off alone, we’ve built up enough trust to pack them a metaphorical lunch box and send them on their way.
Again. Kind of a unicorn culture and I’m not sure I’ll ever see this again.
@FayeDrake @glyph @mcc @mhoye Thank you and I’m glad you found that unicorn!
-
serious question though, is there a requests (or httpx or treq or whatever) compatible selenium driver so that I can write a simple Python CLI that just says "give me URL please" and Safari does all the HTTP traffic so it can get the request body with all my ridiculous CAPTCHAs and news website logins in it
@glyph maybe not a complete solution, but some have already tried tools to bypass protections, for instance for automating torrent downloads etc. : https://github.com/FlareSolverr/FlareSolverr
-
@glyph When I think about "AI" I often think about how we had cities built to be navigated by people, and then we rebuilt the cities to be more easily navigated by cars, and now people without cars can't navigate the cities because we specifically designed them to require cars
@mcc @glyph not sure if you saw, but Terry Tao made this analogy and had some interesting things to say https://mathstodon.xyz/@tao/116252708577614828
tangentially, I've also been thinking about how ten years ago people were saying "data is the new oil" and at the time I was like "ah hm yes" but I didn't think about how ten years hence we would of course be building data refineries that no one wants to live next door to
-
@mcc @glyph not sure if you saw, but Terry Tao made this analogy and had some interesting things to say https://mathstodon.xyz/@tao/116252708577614828
tangentially, I've also been thinking about how ten years ago people were saying "data is the new oil" and at the time I was like "ah hm yes" but I didn't think about how ten years hence we would of course be building data refineries that no one wants to live next door to
-
@JamesWidman Sorry to bother. Inserting dots makes that word past my word filter. I have it muted as it's been affecting my mental health a lot lately, so I'd really appreciate it if I could avoid it in any form (unfortunately, I can't avoid it in the real life
) -
@JamesWidman Sorry to bother. Inserting dots makes that word past my word filter. I have it muted as it's been affecting my mental health a lot lately, so I'd really appreciate it if I could avoid it in any form (unfortunately, I can't avoid it in the real life
)@lesley updated, and i'll try to remember that in future posts.
-
@lesley updated, and i'll try to remember that in future posts.
@JamesWidman Thanks a lot!
-
@mcc @glyph @mhoye I had that argument with a previous employer over mob programming.
They were trying to make everyone do it, it was burning some of us out.
Their response was “you can just not do it and the rest of the team will do it without you”.
Well, oh Einstein of managers, what do you think is going to happen when all the tools and communication structures the team uses assume mob programming, just like is required to do it properly? It’s not a real option to just not engage. You’ve just forced several of your staff out of a job because it was that or burning them out within weeks, and you’ve managed to paint it as their fault.
Ever since then I’ve been incredibly cynical about any “cultural shifts”. If it’s optional then it’s totally not optional they just don’t want to take the responsibility.
@FayeDrake I've been fortunate to avoid mob programming so far - it's hard enough not to get drowned out in a meeting whilst the more extroverted (or desperate to show their value as the employer pushed competition for advancement) dropped suggestions in a stream of consciousness.

Tho I had fab experiences with pair programming as we were working on a simulator which had a comfy car seat and a projected view of the world up front. This view was driven by the same machine we developed on, so inevitably we would end up with the "subject" (another dev during testing) being able to comfortably observe the changes and collaborate. I think it also helped that you didn't have someone literally over your shoulder and talking into your ear

(And now I remember that this workstation did this all with its 256MB of RAMBus memory
) -
@FayeDrake I've been fortunate to avoid mob programming so far - it's hard enough not to get drowned out in a meeting whilst the more extroverted (or desperate to show their value as the employer pushed competition for advancement) dropped suggestions in a stream of consciousness.

Tho I had fab experiences with pair programming as we were working on a simulator which had a comfy car seat and a projected view of the world up front. This view was driven by the same machine we developed on, so inevitably we would end up with the "subject" (another dev during testing) being able to comfortably observe the changes and collaborate. I think it also helped that you didn't have someone literally over your shoulder and talking into your ear

(And now I remember that this workstation did this all with its 256MB of RAMBus memory
)@arakin yeah… that was essentially the argument I had.
We had certain individuals who talked without gaps, and when confronted by others responded by saying they needed to do this to think. When it was posited that maybe other people needed space to think, and the opportunity to contribute, the response was that this was our problem. Because letting people talk as much as they like is easy, but making sure all needs are met is hard and requires effort and skill. And acknowledges that the majority of engineers can’t just pick this up from first principles.
I do not feel like I’m emotionally intelligent, but I’m told I am. I think it’s because I’ve spent a tonne of sleepless nights working out why this sort of thing is bullshit and how to explain that to people. And when that fails, putting myself in a position to veto it.
Fortunately, I am the senior engineer now, and at least for the time being I have enough clout to tell people to fuck off when they start trying lazy and toxic bullshit like that.