← Back to context

Comment by pverheggen

1 day ago

OP's dismissiveness of soft skills is a big red flag. Unless you're a solo dev, software development is a social activity, and understanding the social dynamics is key to effecting change.

Your efforts to improve quality could be vetoed by your coworkers for a variety of reasons: they don't care, they don't trust your judgement, they see other things as a higher priority... the list goes on and on. Some of these things can't be changed by you, but some can, and that's where the soft skills come into play.

Side note, this is why I'm not that worried even if AI becomes even better at writing code. The only times I've spent "too long" on features, are times where I basically had an empty ticket. I need to find the right people to talk with, figure out requirements, iterate on changing requirements etc.

That's only marginally sped up even if you could generate the code with a click of a button.

This was somehow related to the "social activity" part :D

  • 100%. The thing I'm currently working on has been a pain probably 80% because the work was underspecified and didn't take a bunch of legacy concerns into account and probably 20% because of nature of the code itself.

    If it was better specified I'd be done already, but instead I've had to go back and forth with multiple people multiple times about what they actually wanted, and what legacy stuff is worth fixing and not, and how to coordinate some dependent changes.

    Most of this work has been the oft-derided "soft skills" that I keep hearing software engineers don't need.

Where did they dismiss soft skills? The point is that every improvement is met with "just get better soft skills bro" dismissal, which in reality has nothing to do with soft skills. I've met this firsthand.

  • Their direct complaint is the "just get better soft skills bro" advice, but it's dismissed indirectly:

    > The "soft skills" framing is wild. You're supposed to learn to communicate your way out of a structural problem. Like taking a public speaking class to fix a broken org chart.

    If learning to communicate well wouldn't fix a structural problem, then communicating well wouldn't fix it either.

    • That’s the point, though? That you’re being gaslit by “you’re not communicating well” when no amount of good communicating would fix the underlying issue or you being dismissed?

They do not dismiss soft skills. But, they do not know how to play the politics and were given bad advice. I would even say that their observations are entirely correct, they accurately described how teams function. What they do not know is how to influence people.

Bad advice given to them:

> The standard advice is always "communicate better, get buy-in, frame it differently." [...] The advice for this position is always the same: communicate better. Get buy-in. Frame it as their idea. Pick your battles. Show, don't tell.

That sort of naive kindergarten advice is how people want things to work, but how they rarely work. Literally the only functional part of it is the "pick your battles" part. That one is necessary, but not sufficient. The listed advice will make you be seen as nice cooperative person. It is not how you achieve the change.

So OP comes to the "the problem isn't communication. It's structural." conclusion.

  • The point is that if you unite authority and responsibility in the same individual, you can move fast and confidently because you don't drain people's time and energy by making them "influence people". In a healthy organization, responsible people act and are held to account by their results. Democracy is a choice, not an obligation.

    You're right that organizations do often become consensus-driven. It's a failure mode, not something to which we should aspire. And we certainly shouldn't tell people to deal with a shortfall of authority in an organization by becoming social slime balls that get their way through manipulating emotions and not atoms. People who advise doing this ruin good technologists by turning them into middling politicians.

    "Disagree and commit" is a good thing. Escalating disagreement to a "single threaded owner" for a quick decision is a good thing. It avoids endless argumentation and aligns incentives the right way. Committees (formal or not) diffuse responsibility. Maturity is understanding that hierarchy is normal and desirable.

    • Nailed it. I often cite Admiral Rickover (USN), who among many other things, said this:

      "Responsibility is a unique concept... You may share it with others, but your portion is not diminished. You may delegate it, but it is still with you... If responsibility is rightfully yours, no evasion, or ignorance or passing the blame can shift the burden to someone else. Unless you can point your finger at the man who is responsible when something goes wrong, then you have never had anyone really responsible."

      He was seen as an asshole who was difficult to work with, and while that's true, it's also true that without his leadership, it's doubtful the Navy would have launched their nuclear power program, nor would it have been as successful. He ran a dictatorship, with an absurd amount of direct reports, very little middle management, and it was wildly successful.

      > "Disagree and commit" is a good thing.

      > In a healthy organization, responsible people act and are held to account by their results.

      The first is only true if the second is also true, but I'm sure you know that.

    • If you unify authority and responsibility into a single person, that one person can both both move fast and super slow. They can prevent any change at all or cause unreasonable amount of change.

      Literally everyone else who wants to change something or keep it the same has to play politics as they try to influence this one person. But also, practically speaking, this one person still have to do a lot of politics. A single team leads with great power still struggle to enact the change. They encounter both open and hidden opposition. Their opposition is even frequently right. They also encounter misunderstanding, passive aggression, seeming compliance, passivity. Or simply people fully agreeing, being onboard and still doing things the old way out of intertie or organization pressures.

      > You're right that organizations do often become consensus-driven.

      I did not said that at all. I did not even said that it is bad when it happens. I said that the usual advice OP was given makes people feel good, but it is a bad advice for achieving the change.