|
|
|
|
|
by cweagans
1588 days ago
|
|
IMO: software engineers have a professional responsibility to mitigate technical debt (among other things). Accountants do not _ask permission_ to reconcile the books with the bank account. Mechanical engineers do not _ask permission_ to replace a part that is in danger of failure + could cause injury. Electricians do not _ask permission_ to use the right size of wire for a circuit. Software engineers should not _ask permission_ to do the right thing. Some component of your software is fragile? Write tests for it. Difficult to add one more thing to that already tangled mess of spaghetti code? Untangle it. No idea how some part of the system works and there's no documentation? Figure it out and then _write documentation_. Security patches need to be applied? Apply them. There is a balance to strike here of course: you still have to deliver things. Do refactors in small-ish increments if possible (don't just rewrite the entire system). Write a couple tests every time you change something. Whenever you have to ask a question about something, write down the answer. A product owner may not understand the importance of doing these things, but that is not something they need to give their input on. Code organization, testability, etc are not product features. They are engineering details - details which engineers are obligated to pay attention to. |
|
The software profession has no such thing, for the most part. So clients will keep probing and meddling, just like toddlers who want to know how much they can get away with before their parents punish the misbehaviour. And if some people die, or suffer from algorithms gone wrong, or are just generally pissed off left and right because of bad software - who cares. Profits are king, right?