I really do not think the programmers are the responsible in this case. I'm not sure, but for what I understood, it was not a failure in the SW, but a failure to explain the pilots the changes in the behaviour of the plane.
On whole failure of the goal. Change a plane in big way, but try to get it act like it did not change. To avoid explaining and training pilots. So instead of training pilots to expect plane to act certain way in certain scenarios, it was instead fixed in software and hardware. But well that combination was done poorly and it should have still been explained.