@nicr9 +1 to Nic’s line of thinking.
Also to Nic’s attention span, this is an uninteresting (to me), very fiddly, very fragile way of accomplishing things.
It’s probably one of your best bets though.
@glyph instead of Selenium, you may want to check out Playwright. https://pypi.org/project/playwright/
It allows browser automation in a very pythonic way - also headless. It installs its own Chrome/Firefox/Safari and avoids any configuration you done to your browser installs.

Custom Selenium Chromedriver | Zero-Config | Passes ALL bot mitigation systems (like Distil / Imperva/ Datadadome / CloudFlare IUAM) - ultrafunkamsterdam/undetected-chromedriver
@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.
@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.
@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 @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.
@griotspeak @mcc @glyph @mhoye
I have tried mob programming in at least one other setting, after doing a lot of work off my own back to try and provide the leadership and guidance that was missing. By sheer random chance I ended up with an individual with similar personality traits as before, and we had exactly the same problem. Honestly, kind of just unfortunate odds to get that specific personality type two times in a row, it really is not that common.
In that case we were allowed to just decide to not do it and pair instead. Because management weren’t insane.
@griotspeak @mcc @glyph @mhoye So yes, long story short, extended pairing is excellent when paired with a supportive culture.
However my personal experience is that _extended_ mobbing (as opposed to just occasional) is a lot harder, and requires the right balance of personalities and a strong and emotionally intelligent leader to make sure that everyone’s needs are met. It’s not impossible, but it is a lot more difficult and, again, my experience is it can end very badly when forced.
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