I am absolutely baffled at the idea that there is ever a situation where getting the job done requires a choice to be politically incorrect as implied here. Do you have an example of the phenomenon you're discussing?
I am absolutely baffled at the idea that there is ever a situation where getting the job done requires a choice to be politically incorrect as implied here. Do you have an example of the phenomenon you're discussing?
Edit: to clarify, that other guy couldn't understand the project or how to do proper code so all the PC dance afterwards is the perfect shield and role playing. I just walked away after few weeks.
The guy’s code worked? Doesn’t sound unreasonable that the project leader would want it merged. Put the technical debt on the backlog, get on with writing other code that works.
The project leader presumably had a team to manage. Seems perfectly understandable that they would want all their team contributing, even if some team members were vastly more productive than others. The alternative is over-reliance on key personnel, or back to the recruitment treadmill (both of these are risks and uncertainties - which it’s the PM’s job to manage down).
The project leader should want his less skilled employees to grow their skills so that he may one day have a greater breadth and depth of talent at his disposal. It might even be reasonable for the leader to want his most talented developers to do nothing but coach junior colleagues - particularly on a typical project that isn’t rocket science, where 5 average developers will be more useful than one rockstar.
Like I said, I don’t know your situation. My point is that the behaviour you describe seems like it could be quite normal and rational and not motivated by PCness at all.
By far the fastest I've leveled up my programming skills has been when better programmers looked at my code and told me what was bad about it and what could be improved. You're commenting on the story of someone who offered such commentary and had it rejected.
Piling on lots of little bad changes is only possible if you have a good cleanup process (that I’ve never seen, who likes cleaning up bad code that isn’t breaking yet).
I think this may just be different management / development philosophies.
{example}
I’m unsure if this is the sort of politics that’s the context of the article...
I think it's fair to assume they were replying to you, not the article.
In this particular case, same with Linux CoC, reasons to try to apply or change rules can have much more sinister motives than what it seems on the surface.
Case in point.
1. Initial linux CoC is introduced by Greg KH, after one sensitive 'programmer' got hurt by Linus general behavior. Oh also she was working closely with Greg if I am not mistaken. https://lkml.org/lkml/2013/7/15/374
2. Next Linux leaves the project (temporarily? fingers crossed) and Greg KH remains to be the top decision maker for what goes in into kernel. Same guy who wanted to push d-bus like his life depends on it, which doesn't show good judgment for the project well being.
3. Then one of the first things to do is to introduce even more rules, even if Linus returns soon: https://lkml.org/lkml/2018/10/22/188
So underhand politics that has nothing to do with small tiny sensitive souls continues and quickly.
When I see Stallman not buying CoC crap I respect that.
Did I explain better?
1. Initial CoC is introduced by Greg KH
2. 5 years pass
3. Greg KH suggests updating the CoC. It is signed off by Chris Mason, Dan Williams, Greg KH, Jon Corbet, Olof Johansson, and Steven Rostedt, not to mention Linus himself. Rik van Riel, Tim Bird and Ted Ts'o make endorsing comments on the LKML in ensuing discussion. That is, the change is supported by Linus and at least 9/10 TAB members. HPA made no comments
4. Linus goes on leave
5. Greg KH and Olof and another guy make some minor wording changes to the CoC, and adds a new page describing how the kernel maintainers interpret the CoC, most of this would best be described as watering down some of the more objectionable parts of the unedited CoC. It is reviewed by Steve Rostdet and Ack'd by Linus, Ted Ts'o, Rik, Corbet, and approximately 50 other people.
Then of course, Ted Ts'o (the same Ts'o mind you, who people bring up as the person Sarah Sharp supposedly weaponized the old CoC against, so if anyone, he'd have a bone to pick against CoCs) clarified[1] that the addition of a CoC was a directive from linus, not something Greg snuck in, and while shepherded by Greg, was done with 'a huge amount of consultation with the top contributors to the kernel'.
So basically, if one actually looks at what really happened, instead of what what one wants to believe(?) happened, all of the sinister motives disappear.
I once felt the same way, that there’s always a good way to give criticism. The shit sandwich really works well in even the mist dire situations (“this is great,” “this is garbage,” “but this is great too”).
But I once had a co-worker who had an opposing development philosophy. It was in a bit of a weird, anarchic environment where there was little supervision, but steady budgets.
There was an algorithm made and after reviewing it, it was just really, really bad. It was for improving health, but it used the wrong population, it inferred from data inappropriately, it made broad recommendations, and it did so I consistently. It was garbage, but it’s not helpful to say that as that never really helps and is not constructive and not accurate. Basically what you’re saying.
I got the merge request and sent it back with a thoughtful commentary, adding in another peer for input, asking for test cases, asking for user story requests, etc. Pretty polite.
They resubmitted it unchanged saying “no, I know it’s right. Just take it and we’ll fix it later.” (There’s no we, it’s just this one person).
I spent more time and sent more detail, showing similar, valid changes.
Same thing back. I spent probably a few hours between the two responses and they were resubmitted within seconds.
I figured I’d chat with the person so based on work schedules sent an invite for two days away.
Person said they couldn’t wait, had to go now. I tagged the other two maintainers, one was on the initial reply, and asked for a review. They pointed to response #1 and said “no, refer to reasons.”
Submitted then went to boss land and asked boss to approve the merge. Boss can’t do that, etc etc.
Boss and I meet with submitter. Submitter asks us to read original submission and gives nothing further.
Boss asks me to reconsider, I point out comments for improvements, submitter says they won’t change them. So request stays at no.
Lots of HR madness takes place over the next few weeks. Merge request never made it.
I probably spent 40 hours, plus peers and submitter added on.
Obviously, I’m not skilled enough to communicate why the merge request wasn’t sufficient. I’d love to learn, and am always trying. But I sometimes wonder that I could have saved a lot of time by just saying “this request is a garbage fire and a waste of time to discuss further. You are unworthy.”
It wouldn’t have worked to make the submission good, but would have cut directly to HR and skilled all the well intentioned attempts that ate up time. If this were OSS, it might be good for the community to prevent future stupid stuff.
I’m not sure what the solution is as you have folks who are good in one thing (algorithm design), but bad in another thing (conflict resolution / mentoring randos). Hopefully you’re lucky and have leads with both skills.