The lesson I take home from all this is that very complex systems generate very complex and confusing failure modes that software engineers and designers cannot possibly discover.
This means that:
1. Automation must never be totally trusted.
2. It must be possible for the crew to revert to basic mechanical instruments and hand fly the aircraft from first principles.
3. Modifications and upgrades are going to become a nightmare for Airbus because it is impossible to completely understand if new failure modes have been created.
I make exception for the basic fly by wire automatics, but nothing else, and if you are going to use side sticks they had better have a mechanical connection so it is patently obvious to blind freddy what control inputs are being applied.
I expect more of these type of accidents.