A conversation today reminded me of something: I have come to see speaking badly about ones users as a sign of a bad programmer.

Disengagement, cynicism, callousness, suspicion… these things make bad software.

Simultaneously our industry has elevated these traits as signs of “rationality”.

Caring, empathy, curiosity, engagement, learning, compassion… these things make good software.

And they don’t get the hype they deserve.

Aside, but important: in my experience, disengagement especially, but also to some extent the others, are often an early warning sign of burnout. So if you feel you’re slipping into that, maybe get someone you can talk to, there might be more going on than you realize.

This mentality is something I often see in quite junior people who seem to emulate what they think is “cool”. That is a terrible start as a dev because your learning is severely inhibited and you’re often an absolute party pooper for folks trying to make great stuff. And so you might end up pushing away the people that could really help you become great.

And if you don’t snap out of it… 😬

@Patricia I think part of the problem is that communication with someone with a very different outset and knowledge basis is hard and we are not trained in tech to deal with communication challenges. Thereby unhealthy coping mechanisms
@grymt you’re right, we’re not trained for it, but it’s 50% of the job.
@Patricia Yes, definitely something that should be addressed
@Patricia Retaining the corporate disposition mask outside of work is generally counterproductive, indeed.
@Patricia I can't boost this more than once but strongly agree
Yes, if your programmer serfs ever start to become suspicious, or do unsavory things like disengaging from work, and only doing their job, they may be plotting an uprising so you should fire them as fast as you can say "You're just not a good match for our family team." If they're callous, they might be trying to protect themselves from you, and you absolutely want your workers as emotionally vulnerable as possible.

Just a bit of an alternate take on those signs of a "bad" programmer. Might not be the programmer who's bad here.
@cy @Patricia Everyone is at least partially the product of their environment. This sounds like an environment that forces greatness out of programmers. Unfortunately, the result is still bad programmers, even if it's not their fault.
@cy my perspective is that this is my craft and my livelihood, irregardless of employer, this is the thing I know how to do and the thing I am going to earn my living from the rest of my life. Being good at it is for me, to secure my own life, not for an employer.
Right, so what I mean is if you find yourself suspicious, and have to disengage, that doesn't mean you're a bad programmer. You just need a healthier environment to explore your curiosity and create wonderful things without fear of punishment or exploitation. Good luck convincing your boss of that, though.
@Patricia that made me think - I know even with the in-house systems I am responsible for I have times when I think badly about users, and the thought I get following your post is that often that is because the work to make things truly usable by people who don't see technology like I do, and probably don't really care as they just need to get THEIR job done, feels like an overload - and overload when it becomes chronic is obviously a factor in burnout.

@julian yeah, I believe the disengagement mechanism in burnout is the mind defending itself. And in my experience, the sooner you address signs of burnout the faster is the recovery and the fewer long term effects.

Now I have chronic migraines, but before I had stress induced migraines and I used to joke that migraines were the way my body could tell me: “Hey! You! You don’t realize it, but you’re not ok, go figure out why you’re sad”

@Patricia @kirtai Disengagement & cynicism are also the only reasonable reactions when you're asked to make proprietary malware that harms the users for your paycheck.

It's a constant pattern.

One has to put a delimitation between their work and other programming, because the work is pretty much inevitably toxic.
@lispi314 @kirtai sometimes the CIA creates and publishes something useful:
“Simple Sabotage Field Manual”
https://www.cia.gov/static/5c875f3ec660e092cf893f60b4a288df/SimpleSabotage.pdf
@lispi314 @kirtai protecting the user is in my view caring, and not disengagement. I don’t think that it is possible to care for an organization, we care about people. If your organization is hurting the people you care about, then preventing that harm is the work imo.
@lispi314 @kirtai and the CIA handbook is surprisingly useful in its advice on how to innocuously sabotage work that shouldn’t be done.
@Patricia @kirtai That's unfortunately also a good way to end-up starving (fired for incompetence is a thing) and/or blacklisted if not imprisonned (if found).

(My country seems to be under the dominion of a Nurgle cult, in-person work isn't an option.)

If people listen to my advice about avoiding any proprietary malware instead, they'll avoid even more of the harm.