huganabaga
Joined 3 years ago
Joined 3 years ago
When developing medicine you wouldn't consider safety studies as "extra". When you fly an airplane then the take off checklist is not "extra". Arguing that automated test suites or documentation are just "extra" on top of making software and could be skipped is similar to arguing that you could fly a plane without any checklists or releasing medicine to the public without evaluating its safety. That's just unprofessional nonsense.
That's the difference between professional software engineering and just hacking something quick in your free time.
You wouldn't ride a motorbike at 150mph on a German autobahn if it was put together by your neighbor with parts from a junkyard in an afternoon. Unclear to me why you'd treat software any different.
Considering automated testing as "technical debt" is why there is so much crap out there.
And that attitude is why so much software just sucks. Spending some time to contemplate and test and find out what's good and throw away what's not before it ships, all that goes a long way with quality. "Iterate as fast as possible" is one of those immature ADHD approaches and I'd run if a manager forced my team to do this kind of rushed nonsense.
(The projects I work on typically spend over 50% on automated tests, but I'm in an area of the software industry where we really can't have and bugs escape into the wild. I wish more areas would work like that.)
And it saves you days and days of re-discovering truths about your code weeks/months/years down the line. Sometimes those rediscovered facts are not even true which will come bite you big time.
Integrate your documentation with your testing. That makes it easier to create and maintain. You don't have comprehensive automatic tests? Then that's your problem right there.
Automated testing FTW. Then you can change and refactor and extend all day, as long as the tests are all green, you are golden.
Updateability is the defining advantage of software over pure hardware solutions. If you don't use the advantage then you are stuck with just all the disadvantages.
Ideally your documentation is tightly integrated with your tests too, then it will be done as well and won't go stale.
I hear 30-year old overpaid software engineers brainstorming how to cheat the ticket checks at the ski resort. I watch people at all-you-can-eat buffets piling more food on than they can eat and bring something with them for consuming later at home or by their family. People discussing tax loopholes. Or how to get train rides for free if nobody checks the ticket. All well-off folks. Cheating their way through life. It's sickening.
It makes me wonder whether religion may actually be a (partial) solution to this. An atheist myself, I can see value in brainwashing people into believing that they are constantly being watched by an almighty being which will ensure they go to hell if they steal or similar, even if nobody else is watching.
It's really sad that people can't just be decent.
Perhaps a real book on real paper is an alternative?
It's the "with a passion" part. A certain sub-population is prone to deciding that they love or hate something, based on some early experience or social context, and then every future experience with the thing is then strong-armed into supporting that supposed strong opinion. There is no rational reason for this. It's a very extreme form of confirmation bias.
It's pretty fascinating actually, as it's often times employed by rather intelligent people. With a slight tendency towards the autistic end of the spectrum, but there is certainly more research into this needed. Perhaps somebody working on a degree in sociology is interested i digging further?
That's because you learn things along the way. About underspecified requirements, about design choices that looked good on paper but ended up brittle, about tech that promised something but couldn't hold up to it when tested out thoroughly. There are many reasons and in every field you see this effect.
> Hire good people and they won't build un-shippable crap
Ever heard of a prototype? Those exist for a reason.