Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
asur
Dec 28, 2012

fourwood posted:

“You can make above the median with some effort” and “160k is massively underpaid in the US” are… not the same thing.

The person in question can easily make $200k total comp at 7 years experience and likely could get offers at $250+. That's massively underpaid to me.

Adbot
ADBOT LOVES YOU

barkbell
Apr 14, 2006

woof
SAFe sucks. PI Planning just takes up a whole week and a half of meetings.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
agile sucks and safe sucks harder than normal agile

biceps crimes
Apr 12, 2008


I thought we did agile okay where I'm at, but they started not replacing scrum masters a few years ago and they have been hiring product managers and other managers with no clue. One of the teams started doing mob programming for everything and keep giving talks on it and trying to convince other teams to do it because it's "agile" and reduces WIP but it sounds absolutely miserable to me. They all get in a call all day and the team is notoriously difficult to work with if you have a dependency on them. The only enjoyable part of my job is the solitude and focus time I get when working on a problem by myself, I would quit quickly if I spent 6 hours in a call with 3 other people all day. I'm going to need a new job soon

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
sounds like agile sucking lol

the underlying problem is that it cannot fail, it can only be failed. if you get an ideology that works like that you can immediately know it's failed

bob dobbs is dead fucked around with this message at 20:45 on Apr 7, 2022

Guinness
Sep 15, 2004

I came across this description of one company's mob programming methodology and I'm burned out just from reading it. It sounds absolutely horrific and dehumanizing. I totally get that pairing or even mobbing can make sense in specific situations when trying to debug something gnarly or teach something complex, but doing it all day every day sounds like my literal developer nightmare, especially over zoom. I need my solo flex time to think and solve problems in non-linear ways, and I absolutely cannot be "on" for hours and hours at a time.

https://engineering.meetsoci.com/mob-programming

There's so much awful stuff to quote that I'd just be copy-pasting the whole thing, but here's a taste:

quote:

Programming time (at least 6 hours)

There are three roles, Typist, Navigator and Support.

The Typist is a smart input device, the only thing they input into the computer is what the Navigator told them to, nothing more, nothing less. Watch out for Typist doing things they were not told to - “run-away typist antipattern” leaves the other two just watching, unengaged and loses all the benefits of the mob.

The Navigator tells the Typist what to do. They are doing the majority of the thinking, and executing those plans through the fingers of the Typist.

The Support observes the process as a whole, is responsible for keeping track of the timer, and assists the Navigator as needed; any orders given directly to the Typist by Support are to be ignored by the Typist, as that would lead to “run-away seniors” antipattern, in case the Navigator is less experienced.

After 10 minutes, Support is responsible for enforcing the switch - Support becomes the next Typist, Typist becomes the next Navigator, and Navigator becomes Support. PHPStorm has a simple Pomodoro timer at the bottom status bar that works for keeping the time.

The switch happens at the time interval, not at logical code / ticket boundaries. This ensures that all team members are fully engaged and participating in each logical section (as usually a section requires more than 10 minutes to complete). In case of more complex test setups, this also ensures that each has it set up, or forces the mob to automate the test setup through TDD. Switching happens mid-sentence, which makes picking it up for the next person easier as the code is likely in a syntax error state. For fast switching, use https://github.com/remotemobprogramming/mob command-line tools.

Also the very notion that there are 6+ hours of hands-on-keyboard coding to do every day is just laughable as well, unless this is just the most mindless code grind shop ever.

The March Hare
Oct 15, 2006

Je rêve d'un
Wayne's World 3
Buglord
I would quit on the loving spot if someone tried to get me to do that, no questions asked.

biceps crimes
Apr 12, 2008


I said to someone on the mob team that it seems like it would be exhausting, they said they account for that by making sure the longest any one person drives is for 30 minutes :psyduck:

Here’s the latest article they’re sharing. It doesn’t explicitly recommend mob programming but that’s what the mob programming enthusiasts seem to be taking away from it: https://medium.com/serious-scrum/being-busy-is-the-silent-killer-of-scrum-team-effectiveness-befa997020e0

biceps crimes fucked around with this message at 21:31 on Apr 7, 2022

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Guinness posted:

Also the very notion that there are 6+ hours of hands-on-keyboard coding to do every day is just laughable as well, unless this is just the most mindless code grind shop ever.

Mindless code grinding is pretty much all you can do this way.

Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug

Guinness posted:

I came across this description of one company's mob programming methodology and I'm burned out just from reading it. It sounds absolutely horrific and dehumanizing. I totally get that pairing or even mobbing can make sense in specific situations when trying to debug something gnarly or teach something complex, but doing it all day every day sounds like my literal developer nightmare, especially over zoom. I need my solo flex time to think and solve problems in non-linear ways, and I absolutely cannot be "on" for hours and hours at a time.

https://engineering.meetsoci.com/mob-programming

There's so much awful stuff to quote that I'd just be copy-pasting the whole thing, but here's a taste:

Also the very notion that there are 6+ hours of hands-on-keyboard coding to do every day is just laughable as well, unless this is just the most mindless code grind shop ever.

The one with the keyboard types, the one without the keyboard dictates. When the one with the keyboard gets tired....

ExcessBLarg!
Sep 1, 2001
Why would you burn three engineers on grind code, dear lord.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
I did mob programming for one day. My team collectively decided never again.

I hated it. But I loved being on a team that would experiment like that.

gnatalie
Jul 1, 2003

blasting women into space
jesus christ that sounds so loving stupid

Sivart13
May 18, 2003
I have neglected to come up with a clever title

lifg posted:

I did mob programming for one day. My team collectively decided never again.
I'm an extremely strong advocate of Pair Programming but adding a third wheel for anything other than short bursts sounds wackadoo

a lot of coding is like, sloppy data entry, and having two people sit back and watch doesn't really make it any better

biceps crimes
Apr 12, 2008


The team doing mob programming have four developers and they have a team agreement to work only one ticket at a time to minimize work in progress

biceps crimes fucked around with this message at 04:01 on Apr 8, 2022

qsvui
Aug 23, 2003
some crazy thing

This is not the image I had in mind of "mob programming". I thought it would have been like 10 or 20 people just yelling poo poo out. What kind of mob only has 3 or 4 people? Lame as hell.

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

One cursor, 20 keyboards

take boat
Jul 8, 2006
boat: TAKEN
I've never heard of mob programming before and it's wild, I love it. now I'm wondering how to top it. alternating rounds of sprint retrospectives and kickboxing?

chglcu
May 17, 2007

I'm so bored with the USA.
Loud ticking clock and periodic electric shocks if you’re typing slower than the current moving average of all employees.

e: Actually, thinking about it some more, that sounds more tolerable than mob - or even forced pair - programming.

chglcu fucked around with this message at 07:01 on Apr 8, 2022

LLSix
Jan 20, 2010

The real power behind countless overlords

chglcu posted:

Loud ticking clock and periodic electric shocks if you’re typing slower than the current moving average of all employees.

e: Actually, thinking about it some more, that sounds more tolerable than mob - or even forced pair - programming.

Uh, that’d mean roughly half of all employees are being electrocuted at all times.

I guess you could game it by having half the team be empty chairs that never type anything but are logged in as fake employees.

What happens in the morning when everyone first starts working? Do they all get shocked because they haven’t been typing yet today?

thotsky
Jun 7, 2005

hot to trot
Pair programming is a good tool, and can be fun, but I feel like it only works if the people involved like each other and are in the mood to work like that. Being dragged away from my work because I need to look over the shoulder of someone I cannot stand is torture, and I bet someone have had the same thought about me.

Steve French
Sep 8, 2003

LLSix posted:

Uh, that’d mean roughly half of all employees are being electrocuted at all times.

Could be a lot more than half if you’ve got any 10xers!!

Artemis J Brassnuts
Jan 2, 2009
I regret😢 to inform📢 I am the most sexually🍆 vanilla 🍦straight 📏 dude😰 on the planet🌎
This thread is really making me appreciate my current job, which is “throw on headphones to drown out coworkers and solve interesting problems in the codebase”. Mob programming sounds like an absolute nightmare but luckily for me I can’t imagine any game studio will ever throw 3 engineers on a single problem, lol. Also got a surprise promotion to senior yesterday so that’ll be a nice pay bump when I decide to job hunt again.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
I really enjoy getting to watch someone work who's good with their tools. Maybe I learn something, worst case it's soothing like an episode of How It's Made.

Doing that in larger groups six hours a day five days a week does not sound like a good time.

Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug

LLSix posted:

What happens in the morning when everyone first starts working? Do they all get shocked because they haven’t been typing yet today?

It's a great way to save on coffee!

Note that time spent getting coffee will decrease your average, so get typing

CPColin
Sep 9, 2003

Big ol' smile.
An interesting game. The only winning move is not to type.

minato
Jun 7, 2004

cutty cain't hang, say 7-up.
Taco Defender
Pair programming is fantastic for knowledge transfer for juniors or new hires. Watching someone else use tools and write code is always an eye-opener; I've found so many neat techniques I wouldn't have found by self-discovery.

Outside of that, so many stars have to align for group programming to be successful that it seems impossible to blanket recommend it. Maybe it'll work for your group? But is everyone:
* fully engaged? no distractions, errands to run, outside interruptions?
* caring about the problem they're solving?
* have been trained so that they all understand the method?
* are disciplined enough to apply it consistently? Auto-course-correct when they start to go off the rails?
* don't have personality traits that subvert it all? (Control freakishness, stubbornness, talks too much, doesn't talk enough, etc etc)

Oh, one of those is missing? Well, poo poo, it's not gonna work.

It also assumes that problem solving is "grinding the problem until you have a solution", when sometimes the solution only presents itself when you've had time to back off & reflect.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
We sometimes get the entire team together and spend an hour trying to fix some bug and it's great for knowledge transfer and learning about debugging techniques and the like, but an hour of that is enough to leave me fried for the day.

sim
Sep 24, 2003

Plorkyeran posted:

We sometimes get the entire team together and spend an hour trying to fix some bug and it's great for knowledge transfer and learning about debugging techniques and the like, but an hour of that is enough to leave me fried for the day.

This is the way to do mob programming. Going all day sounds like a recipe for burnout. I agree with all the previous posters that no one wants to spend all day working directly with a coworker. But I've done mobbing like once a week for an hour or two and I felt it was really valuable for everyone involved.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
I can see gathering a bunch of devs together to chew on a problem, but in my experience the problems that warrant that approach are design problems, and the tool of choice is a whiteboard, not a computer.

Doom Mathematic
Sep 2, 2008
Pair programming is great for knowledge transfer to new people, and mob programming is pretty good for educating 3-8 programmers about something. We use it when we're educating new hires in basic coding principles or bringing people up to speed on an entirely new programming language.

I have had people ask afterward "Hey, does this company actually develop software like this?" and I quickly responded "Oh no, no no no no, absolutely not."

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

minato posted:

Pair programming is fantastic for knowledge transfer for juniors or new hires. Watching someone else use tools and write code is always an eye-opener; I've found so many neat techniques I wouldn't have found by self-discovery.

Outside of that, so many stars have to align for group programming to be successful that it seems impossible to blanket recommend it. Maybe it'll work for your group? But is everyone:
* fully engaged? no distractions, errands to run, outside interruptions?
* caring about the problem they're solving?
* have been trained so that they all understand the method?
* are disciplined enough to apply it consistently? Auto-course-correct when they start to go off the rails?
* don't have personality traits that subvert it all? (Control freakishness, stubbornness, talks too much, doesn't talk enough, etc etc)

Oh, one of those is missing? Well, poo poo, it's not gonna work.

It also assumes that problem solving is "grinding the problem until you have a solution", when sometimes the solution only presents itself when you've had time to back off & reflect.

It wouldn't hurt to give everyone involved a half a hit of LSD each.

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

any faang survival tips for when the tooling is piss and every build takes 100 years? thinking about taking up knitting or something

Pollyanna
Mar 5, 2005

Milk's on them.


Bluetooth headphones and YouTube. Don’t tell my boss.

Arsenic Lupin
Apr 12, 2012

This particularly rapid💨 unintelligible 😖patter💁 isn't generally heard🧏‍♂️, and if it is🤔, it doesn't matter💁.


quote:

The Typist is a smart input device, the only thing they input into the computer is what the Navigator told them to, nothing more, nothing less. Watch out for Typist doing things they were not told to - “run-away typist antipattern” leaves the other two just watching, unengaged and loses all the benefits of the mob.

The Navigator tells the Typist what to do. They are doing the majority of the thinking, and executing those plans through the fingers of the Typist.

Why, yes, I did get one or more degrees in order to transcribe somebody else intoning (?s)(?<=\bIngredients\b).*?(?=\bMethod\b).

No, I didn't write that, I grabbed it from StackExchange.

asur
Dec 28, 2012
Either screw around on SA or multitask and do other work while it's building.

kayakyakr
Feb 16, 2004

Kayak is true
wall mounted monitor connected to a desktop plus either a MX Master3 mouse & MX Keys keyboard, or a switching USB hub to swap between work and personal machines. And then yeah, waste time on SA or something.

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

Thanks for the ideas. I was thinking of setting up two computers and have each one working on a different task and switch back and forth. Feels kinda unrealistic though for some reason.

Sivart13
May 18, 2003
I have neglected to come up with a clever title

awesomeolion posted:

Thanks for the ideas. I was thinking of setting up two computers and have each one working on a different task and switch back and forth. Feels kinda unrealistic though for some reason.
these are local builds we're talking about? you're not sending the bytes to and from a cloud?

seems like a job for a CI server but I'm just out here making websites, what are you working on some kinda Android app? smart refrigerator?

Adbot
ADBOT LOVES YOU

oliveoil
Apr 22, 2016
Am I wrong to be confused here?

Keep in mind we work in other teams' codebases. So we don't always have high familiarity with the code we're working on.

I got assigned a bug to fix. My team estimated it would take 2-3 days to fix.

I spent a week debugging. Found some clues to the root cause and decided to ask our POC on the owning team to tell me how this part of the system works.

Instead of explaining, he personally debugged it and gave us the root cause.

Then I realized our POC/expert was *wrong* about the root cause and told my TL that this indicated the fix's delivery timeline could take much longer than we initially thought.

It had been two weeks, and I estimated that it could be another two weeks. My reasoning: if we're two weeks without a root cause even after having the owner look at it then it's probably not a 2-day fix anymore. There's a range of possibilities but our evidence is that it's taken two weeks to make incremental progress so it would not be a surprise if another increment also took two weeks.

He responded by scheduling daily sessions to talk to me about it, telling me to work even more closely with our POC, and apparently complaining to my manager, who just told me I should focus on improving by not taking up so much of my TL's time and by not getting "stuck" and asking other teams to "rescue" us.

And that was a real shocker for me. I'm not sure what's more surprising, setting up unsolicited meetings and then complaining about it or telling me to lean on someone more familiar with this codebase and then complaining about it. Or the fact that he didn't tell me he didn't like these things but instead apparently delivered the feedback to my manager.

I suddenly feel like I'm on the path to PIP and have no idea what to do here.

oliveoil fucked around with this message at 01:16 on Apr 15, 2022

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply