I can’t speak to the quality issues, but I understand that some of the accidents are caused by the software correcting unexpectedly, and the user overcorrecting. This is compounded by changes to the software and features.
The glaring engineering issue I have seen is issues with the batteries being discharged and users having no access to the vehicle even though the aux power has juice left (this could be backwards).