The root cause is academia still didn't adjust the rewards to take into account the computer age. People only get career points by publishing papers, not source code. Software is a fundamental aspect of most current research. We need to recognize researchers that dedicate to write/maintain the required software, awarding the fair amount of career points. Make good software documentation be the equivalent to papers for them, career-wise. It surely would improve the state of academic software. Today students still commonly have to struggle with software stuck in the 70s, usability-wise.