With all respect to the software engineers, as I have often said before, the only people who understand the pilots' task is (you've guessed it!) fellow pilots.
As pilots we look at this from a completely different perspective. Our experience and training teaches us that no level of automation is perfect. In simple language automation will NOT prevent you from crashing an aeroplane. As an example I don't know about you but when I am doing an autoland in Cat 3 I am watching what it does VERY carefully! I hope I wouldn't hesitate in taking over manually/going around if I thought things were going pear shaped. (And yes I know this was a single channel approach) Another example, I watch very carefully to see that the autopilot acquires and goes ALT HOLD at the correct level etc. I could mention many other examples but in a different context I recall Ronald Reagan's answer when asked about Russia's intent - he said "Trust BUT VERIFY" - I think this can be applied to automation. My early experience on very manual a/c with very basic autopilots (NO Autothrottle) has taught me to be wary of automation. Recently I mentioned to a new copilot that on the B737-200 we didn't even have Alt Alert let along Alt Acquire or autothrottle for speed control - he looked at me in amazement. So in the "olden days" calls like "ONE to GO" were VITAL and the non flying pilot kept a careful eye on what was going on.
The software engineer techie guys want to fix it all with the automation and, yes, maybe the design could be better with hindsight. But I think there is something fundamental which needs looking at with respect to the man/machine interface.