Comment by sbarre
1 year ago
Like everything else, writing code doesn't exist in a vacuum.. There will always be interconnected constraints and requirements, and you simply cannot "deliver a spec" and think that's all there is to it.
And that has nothing to do with ethics.. The spec is outdated by the time it makes its way to you, and odds are it was flawed from the start in some way.
And again this isn't because someone is bad at their job, it's because the business reality and conditions are constantly changing.
And so someone needs to be keeping an eye on both of those things and steering the code delivery parts of the work to stay aligned with those changing business conditions.
To your comment about politics: I would say that from a high enough viewpoint "happy customers" should converge with "happy leadership" even if it doesn't happen every single time you ship something..
If those two things don't converge, the company won't be around for long and then politics won't matter much, will they?
> To your comment about politics: I would say that from a high enough viewpoint "happy customers" should converge with "happy leadership" even if it doesn't happen every single time you ship something..
To look at a concrete example, with the quality issues Boeing has been having in the recent years, we can claim "happy leaders" diverged from "happy customers".
Yet Boeing will still be around for a long time, and failures can be catastrophic. Whistle blowers who came out since can be said to have advocated for "happy customers" against "happy leaders" but were suppressed.
At Boeing, ‘happy (wealthy) leaders’ diverged from ‘alive customers’.
Yes of course there are exceptions to the rule, always.
[dead]
> If those two things don't converge, the company won't be around for long and then politics won't matter much, will they?
Have you ever worked at a big company? The level of dysfunction that can be sustained over years or decades at a place with decent market foothold is staggering.
I work at a big company now.
Of course there are exceptions to the rule..
Let's reframe as "trending up" and "trending down" based on customer happiness then..
Over a long enough time horizon, and generally speaking, I still believe I am correct.
“Let’s reframe the question to where I’m right”
1 reply →
What I asserted was:
This has nothing to do with "writing code", "outdated specs", "people being bad at their job", or changing market conditions.
It is a decision each engineer makes when performing their job.
Ethics are not situational. An individual either values and adheres to them or does not. Specifically excluded from this position are mistakes people make and then strive to not repeat, as no one is perfect.
Fair enough! I see your point.. But then I would submit that this is too narrow of a view to take in a complex interconnected enterprise, and that anyone who works this way will end up more behind than ahead.
I'll stand by my first line that nothing exists in a vacuum.
If you only make decisions in isolation or without broader context, whether based on ethics or otherwise, then you will inevitably make the wrong decision, I would argue, more often than not.
Context matters, and the same decision made at different times and in different situations can have completely different outcomes or impacts.
What if "making the customer happy" costs so much money that it puts the company out of business? Do you still focus on only making the customer happy?
What if you have to piss off your customers, for a period of time, to save the business so you can get back to making the customer happy eventually?
Or a less dramatic scenario, what if making the customer happy makes your co-workers' jobs hell, for reasons outside your, or their, control? Is customer happiness then still your singular focus at all cost? Because then you're a shit co-worker in my view.
Is your only responsibility to the customer, or do you feel any responsibility towards your co-workers and/or their jobs & livelihoods?
Life and work are messy and complicated, and everything is a series of trade-offs.
I’m still not seeing your ethical problem for MAJORITY of software deliverables. You literally cannot always deliver things to make customers happy in software and if you aren’t in agreement with your leadership and product teams of what you deliver you are going to have a bad time.
Companies from startups to large enterprises deliver solutions that 0 to some customers use that was mainly to appease whatever vision your leadership has. AI chatbots in websites are a big one that I can think of.
> "happy customers" should converge with "happy leadership"
This is the exact opposite of what we're seeing with Enshittification at the moment.
Customers are locked in to a platform and then made completely miserable by management who have goals utterly unaligned with customer happiness.
100% agreed.. But I still believe that over a long enough time horizon, enshittification will take those companies down. Value extraction is by nature a limited time strategy.
Most companies who choose to do this are taking advantage of a period of market or segment domination where they know users don't have good alternative options, and will tolerate some level of garbage because they still want the service or product.
Note that highly competitive industries or market segments typically don't see as much enshittification...
It is not always a yes or no. “Executive high leadership” can approve of 60% customer friendly stuff and 40% bs. And if some engineer is pouring his heart and soul to make a x% good thing that would be a benefit then it might still be rejected or worse, if engineer is in bad terms with managers he has pretty much no chance.