This dude is extremely persistent about having irrelevant things his way, and when he doesn’t get it, he acts as if it were a personal attack. Do you guys have any argument or method to deal with this kind of people?
I used to say “whatever” and let him have things his way, but as I got more experienced I started to listen more to his arguments and basically respond “this makes no sense” (not with those exact words, of course).
Tell their manager to do their fucking job.
I say this as a tech manager
100% - elevate though not to their manager.
I often open up the discussion to a wider channel if me and a coworker can’t compromise on a technical discussion and poll other engineers.
If it’s not a technical discussion (I consider naming to be technical if it’s “important” like a wide reaching functiona name) then I’ll actually elevate to my manager - they’ll consider it and vet it before elevating further which might involve talking to the dev or to the dev’s manager.
If it’s a real pattern and somebody is being an ass consistently you’ll really want to go through your manager because it’s likely that if you’re locking horns that much someone may need to switch projects.
I worked with a high level senior like that. I found it easiest to just let him have his way. Eventually he was let go cause he spent most of his time arguing over trivial bullshit instead of actually working.
Yeah, if you don’t really care either way, don’t waste your time arguing. Eventually someone will notice he’s wasting everyone’s time and will be let go (or you’ll find a better gig eventually).
Meeting agendas can help with this kind of thing.
If “spend 45 minutes on a variable name argument” isn’t on the agenda, interrupt, say “that’s not what we are here to discuss” and move to the next topic.
An argument takes 2 people. If it went for 45 minutes you argued just as much as them.
This is common enough to have a name in several industries. In SW Dev it’s called ‘bikeshedding’. If you have a name for it, it’s easier to call out to your seniors and peers - and you should call this out and help the meeting move on to more useful matters.
I’d suggest informally discussing this with people around you - enough people that you (or someone else) can safely say “let’s not get trapped in bikeshedding” in the meeting and getting immediate agreement.
As a PO if I heard my Dev team wasting valuable time like this, I would put an immediate stop to this.
Not your problem, escalate to management for inefficiency.
As a manager in software engineering: this! If I learned that one of my devs was wasting time like this, I’d want to know. Just make sure to stick to the facts.
Is he right? Naming things is hard, and often has long-term consequences for the maintainability of the code base.
I’ve been working twenty years on a project and can’t count the number of times something has been called one thing everywhere but one place and because it’s called something different in that one place, the brain has to reset while working with that one bit of code.
If I’ve already thoroughly exhausted reasoning and respectful dialogue, then I go to their manager.
@testeronious @cs_career_questions Imagine somebody in a non-tech role. What could you do if someone argued 45 minutes about which typeface to use for a financial report? There’s a job exclusively for dealing with this type of issue, called “management”. There doesn’t need to be a human manager involved for there to be mismanagement (been there myself!). For me, I found if you can get somebody - really, anybody - to do some management it helps a lot. Even just temporarily.
Make sure each of your PRs has one absurd variable name so they will just focus on renaming that one.
Decide how much it matters to you, how much effort you want to invest in doing things your way. If it matters, talk to them and be honest with how you feel.
Either way sounds like an update-your-resume situation to me.
you can just end the call. you can say “goodbye” before you do.
however, i hope you’re not naming all variables foobar1, foobar2, etc., because then he would be right 😆
Ask them every single time what were to happen if you did it the other way in detail. Keep a record of your time spent and keep the boss apprised. Maybe they’ll learn it’s not the end of the world to call it something else/etc.
Depends on if you’re management or not.
Step 1 is to create a meeting agenda.
Step 2 is when he starts hijacking some shit, enforce the agenda. “It looks like our time on this is up. Moving on…”
Step 3: report time spent to management. If he continues to waste meeting time, discipline until you fire them.
Beware of the “whatever” aproach.
Many years ago I was brought into a project where many variables where named after cars. Before I got there, if the team couldn’t agree on a name, they’d use a car and move on. There was also a module in the code call “bucket”. Didn’t have a logical place to put a function? Add it to the bucket.
I’m sure they saved a lot of time not discussing what to name things up front, but by the time there was enough turnover on the team to change the variables and rewrite, it took months to fix.
Another, more product approach is to ask the “variable naming guy” to write up a naming policy document that would result in the names he has been suggesting. If there is logic associated his side of the “argument” it should be easy to document.
Have everyone on the team discuss and approve the policy. Hopefully you never spend time in a meeting arguing about this again.