3 ms·
This is very much in the right direction, but to expand on it a little with my 2c... Programming something to produce an expected output is for the most part a
by nullsense 6y ago
This is very much in the right direction, but to expand on it a little with my 2c...
Programming something to produce an expected output is for the most part a very achievable goal when you have no constraints. You can do it however you want, take as long as you want and no-one else will complain how you do it.
The more layers of constraints you add in the more challenging it becomes to the point where you could say "programming well" is indeed very challenging and the majority of working devs can't achieve it reliably.
I think over time it's a fundamentally impossible task with respect to a certain piece of software because the trifecta of 1) changing industry/aging tech, 2) everyone who contributed to the codebase at a time they didn't understand the system, the domain or programming all that well, and 3) accumulating mistakes in architecture or implementation that you don't have or ever get the budget to fix.
So in the end even if you're a stellar dev, you're always working with people who aren't and most likely on a system that is not pristine.
Getting a computer to do _something_ is not so hard. Consistently getting the computer to do what you want over time in a way that is easy for your colleagues to grok such that they don't introduce mistakes and also to do it in such a way that's amenable to unforseen future requirements that may or may not arrive? It's ultra challenging.
I've learnt to not care so much. Software is an organic thing that will be born, grow, get old and die.