Commercial software is usually a simple core and a long tail of business exceptions
Commercial software is usually a simple core and a long tail of business exceptions
Like comparing a climb and along run. Sure both require some physical abilities, but in the first case any error and the collapse mean dead end bringing progress to zero, while the second one you can rest on the side any time and still have the miles behind you accomplished.
Human issues are often complex and may not even have a real solution. Consider human issues like Brexit and the Good Friday Agreement - at face value they are a contradiction and yet a solution must be found.
Coding is absolute - trying to build software that can handle all these edge cases, let alone adapt to environmental changes like the law changing around you, when the decision makers have no insight (or interest) in the details is what makes software difficult.