It is a hardware design issue. There's a concept of N+1 redundancy in safety-critical systems, a hardware design decision. This basic philosophy was missing from the MCAS system[1]. You can argue that the software could just ignore bad sensor readings, but that's just software making up for hardware deficiencies.
1. https://www.seattletimes.com/business/boeing-aerospace/a-lac...