Scenario: you are a software developer working with a customer. The customer has a requirement you do not like and you are pushing back against. In your pushback you rely on technical arguments the customer is having difficulty understanding.

Is the problem:

1. The customer's lack of understanding?

2. Your inability to explain?

3. Your own lack of understanding of the customer's requirement?

I submit (3) is often the case and it's your job to deal with the technical problems.

Related: Programmers are the only ones who actually CARE about software elegance. Everyone else just wants it to do a job without getting in the way of doing other jobs.

Follow

Also related: I like software design elegance as much as the next programmer. And I'd love to make the claim that well-designed code is more sustainable over the long run.

But I can't, because it isn't true. There are just so many examples of horrible codebases persisting for years because they fill a need and no one wants 'fix something that isn't broke'. Even when it manifestly IS broken in easily explicable ways.

This is a human problem, not an engineering one. And you can't fix people.

Sign in to participate in the conversation
Rusted Neuron – an Intentional Community

Rusted Neuron is a Mastodon Instance operated by Jack William Bell