“Nissan car secretly shares driver data with websites”

I started programming about thirty years ago, before I hit puberty. I don’t remember how difficult it must have been for me at that point to follow program logic or think on all the different levels that a developer has to while designing something, but I do recall the thrill I got when I figured out the algorithm for centering a line of text on the screen — something that would be very basic to any programmer with any experience at all.

That’s why I can’t really understand how something like this would be allowed to happen.

Granted that car company engineers are not known for the programming expertise, and that the programmer responsible for writing that code probably wasn’t aware of exactly how it was going to be used. Regardless, someone had to know, and that someone should have seen the potential security problems of sharing that information right away, and said something.

Software looks easy to do. For the most part it is — for the first 80% of designing and coding a program. That last 20% is the most important, and contains a lot of subtleties that will bite you in the ass if you’re not experienced enough to know about them beforehand. The last 20% also takes at least 50% of the programming time, so it’s the part that most often gets skipped when schedules or budgets are squeezed.

If you want professional-grade programming, hire a professional software developer. Or contract the work to a company that specializes in software development and already has people with the expertise you need. Don’t just tell an engineer to write it, or hire the copy-boy because he’s cheap, and expect to get something professional-grade.