These systems also have to work correctly (100% of the time) in a range of conditions and it needs to not drain the battery while the car isn't being used. They also need to start up quick on relatively low end hardware. The car creates a very hostile environment generally for electronics. There is lots of dirt, muck etc that will literally work its way in everywhere. There is also a bunch of regulations that have to work almost internationally.
Car companies are not software companies. If you are a software developer not in a software company, things are much more difficult as the organisation just isn't geared to deal with software development generally. Combine this with it being a massively complicated product (modern vehicles are complicated) you are setting yourself up for failure.