We get into a car and just drive. Don't really think about it much. Right? And then along comes computers. Simple enough - these incredible machines should be able to pick up this simple task. I mean we do it all the time, half the time so bored we can hardly keep our eyes open. Crank up the tunes, carry on a conversation, notice the scenery, have a snack.... And then we spend time on this site with all of the computer related problems and complications and slowly it starts to dawn on us what amazing machines these few pounds of organic matter between our ears really are! The huge numbers of lines of code necessary to accomplish this skill and we don't even need a high school education - although sometimes I think it might be a good idea, but I digress.
I really think we need to cut these programmers a little slack. The incredible number of seemingly obvious bits of information that have to be analyzed and considered in relation to another huge number of possibilities. With inputs coming from cameras, technical data regarding the motors and other components, information from maps, knowledge of relevant laws - you get the point. And the folks writing this stuff need to understand and communicate, to a machine(!), all of the various ways these inputs can effect each other. The next time I download an update and suddenly neither the headlights nor the windshield wipers are any longer on automatic I'll just take a deep breath and try to remember how to reset those functions while driving down the highway at 70 mph.