Software engineers should be a little bit cynical
(www.seangoedecke.com)
from codeinabox@programming.dev to programming@programming.dev on 28 Dec 2025 19:27
https://programming.dev/post/43111533
from codeinabox@programming.dev to programming@programming.dev on 28 Dec 2025 19:27
https://programming.dev/post/43111533
#programming
threaded - newest
Should we though?
Politics has no place in engineering disciplines. Imagine if we talked about building bridges like this. “Sorry your entire family died when the bridge failed. My boss has an ego and we have to use the shitty bolts he designed. I’m just doing my job”
Granted not all projects carry this degree of risk but we shouldn’t normalize sub standard practice. Long term risk is generated by bad code which can be and often is detrimental to the profitablity of a project. One of your jobs as a software developer is to be able to communicate this effectively with management. There are cost implications to churning out shitty code.
Bad form > poor product > unsatisfied users > loss in sales to competitors
theblackproject.net/…/like-it-or-not-everything-i…
Speaking up against the manager is politics though.
As is almost all the case when people say they don’t want “politics” in things. Politics just means whatever they don’t like/find valuable.
Politics is about influencing other people. Engineering is about managing constraints. Sometimes these constraints come from other people. If you want to influence a constraint you don’t like, then you often have to influence other people (i.e. politics).
I don’t see anything strange with this.
No and you prove the parent post right. Politics is the matter of the city (or in this case, the matters of the company/office).
Influencing people is a side product of having to reach an agreement between parties, and if you successfully influence the right people, more shit gets done.
I think you are pretty much agreeing with my message.
Yes, I’m just elaborating.
IMO, telling the manager of their mistake is not politics.
Colluding with others to make said manager lose standing in front of their superior, is politics.
I don’t get what your bridge example is supposed to show, nor what normalizing substandard practice has to do with politics or lack thereof.
Depending on where you look there’s plenty of shoddy construction work and cutting corners for cost, big projects are notorious for taking longer and costing more in the end. Construction had more time to develop and be regulated, and has more physical limitations compared to software development. Both, in the end, can be (theoretically) held accountable before court.
Isn’t this politics? Why are you saying politics has no place in engineering principles?
Software engineers are much more replaceable than construction engineers/architects, both in-discipline and with less expertise.
I do my part in what I can influence and control, delivering good and sound products, but it’s obvious depending on individuality doesn’t work across our whole industry.
/edit: The linked article talks about how in-company politics are necessary to coordinate and deliver features. I don’t see that addressed here either? How would you deliver - taking the example from the article - Latex in Markdown on GitHub without politics?
Communication ≠ politics.
Communication in engineering should rely on empirical data not personal opinion or vibes.
The post above only has one sentence where they make a unsupported claim that being involved in politics was necessary to have completed the feature.
The bridge example is to show that personal opinion has no place in projects and that workers should not capitulate to their superiors when they determine unsafe situations are occuring. The “shoddy bolt my boss designed” would be a stand in for whatever crummy practice people are being political about in a software project. From a shitty tech stack to bad project management practices.
Ego and politics is the death of a project.
Except, how do you convince all the other engineers the tech stack is both shitty and that switching off is worth the switching costs? That your data is empirical and also not the “lies, damned lies and statistics” thing where you cherry pick data in your favor so you can look empirical when you are actually just going off your own vibes and ego? Even if your intentions are pure, others might not think so (whether because they have ulterior motives of their own or not).
Unfortunately, that is politics.
That’s just miss representing the data for political reasons. Again it’s just politics which has no place in engineering
I think as long as there are 2 people on earth who do not have perfect trust in each other, there will be politics.
I don’t think engineers need encouragement to be cynical. More often engineers need to lighten up.
That’s basically his point
Ok tell me when to stop being cynical so I can be optimally not cynical
I just want them to stop acting like egotistical know-it-all jerks all the time. They love to speak in black-and-white absolutes and IMO it just shows how much they really don’t know.
I think Dunning-Kruger also applies to smart people… you don’t stop when you are estimating your ability correctly. As you learn more, you gain more awareness of your ignorance and continue being conservative with your self estimates.
Sounds like your company needs to add educational programs so they can see the bigger picture. The opposite is also true. Plenty of managers whether project or people don’t know anything technical and create more issues than would ever be acceptable for someone way below their pay grade would afforded.
Sorry but I have no idea what you’re talking about… and I wasn’t referring to any specific company
A bit off-topic, but:
Knowing about these cognitive distortions always makes it so hard to self-evaluate too! Am I actually better than I think and I am just aware of how much I do not know, causing me to evaluate myself too lowly? Or am I an arrogant asshole, “knowing about the Dunning-Kruger effect does not make you special, especially with how often it’s cited everywhere online now,” and I should keep evaluating myself lowly? Imposter syndrome exists, but some people really are faking it and do not know anything, so am I underevaluating myself and feeling like an impostor when I should not be?
However, I also know if I state things with confidence or say I’m good at something, I’m more likely (at least online) to receive challenges and arguments about why I’m a puffed-up blowhard who actually knows nothing about anything, so I always trend towards “actually I’m just stupid” to avoid being whacked with the “ARROGANT FUCKHEAD” stick. (This is in general, not just about the tech topics this forum is for.)
I’ve read another article on his site that I have to be able to just at least appear to confidently make a decision and live with the consequences that maybe my guess is wrong instead of presenting the whole pro-and-con list, instead of hemming and hawing about how my judgment is imperfect and I’m afraid of thinking I’m competent but actually being someone the internet would tear apart for gross incompetence and the audacity to assume I’m not. (I went through a lot of his articles on a rabbit hole from another of his articles posted on programming.dev.) But luckily I’m not in the decision-making-advise-non-tech-folks-on-big-decisions-most-qualified-person-in-the-room position that this advice is geared towards and do not bear that responsibility.
What I’ve seen lead to success:
What I have seen lead to failure or, at best, being undervalued and ignored:
It’s the same problem as anywhere else. Well-crafted systems are invisible and taken for granted. Saving the day by putting out a fire is applauded, even when you’re the one who laid out the kindling and matches. Managers at all levels care about their own ego more than the company, product, or team.
Maybe I just spent too much time with ex-Microsoft hacks.
“Companies are structurally set up to collude on salaries, but they’re not set up to deliberately make their employees sad - they just don’t have that kind of fine-grained control over the culture!”
This is such an insane take. I’d argue that hiring freezes are more common dictates than corporations following the law.
Counterpoint : Fuck big tech. Fuck startups. Start a software co-op and make something actually useful, instead of yet another middle-man leech like Uber and Netflix.
There’s nothing inherently wrong with either Uber or Netflix. They are, in theory, good services that people find useful. Greed and capitalism are what ruin it.
I’d much rather be able to request a driver through an app with a pre arranged price, than call for a cab which uses an an easily exploitable system that is often use to rip off people (especially people from outside the area). The only problem is that the driver’s get paid like crap.
And streaming is obviously superior to TV
Software co-ops are often indistinguishable from startups in the US. Without money they don’t matter and getting money turns you into a shitshow or requires full-time staff fighting for grants and other forms of not blood money. Maybe this is easier outside the US.
Fuck big tech tho
The way the tech world has unfolded in the last 25 years is bound to make most people cynical.
From my much broader experience, this is missing the required cynicism that C-staff want to deliver software they think is good based on the criteria cynical yes staff tell them constantly is good. I’ve never met an exec that didn’t want to deliver something good; most execs I’ve met don’t actually understand what good is or how to benefit people.
I read that as “cylindrical” lmao
Well that’s true too. As humans we should generally aim to be more cylindrical than spherical.
Saving this now
This applies actually to all engineers