A funny thought hit me while I was reading the details on a position I was applying for last week.
You see, I had to look up the term object relational mapping, which was listed in the experiential requirements bit of the job posting. Boringly, it just means moving data to and from objects in the code and relational databases.
This kicked around in the back of my head for a bit, then I had a little giggle fit that only someone who has spent their adult life stuck in IT could have.
You see, at the same time we were moving to OOP for our coding structures, we were moving to relational databases. What came before relational databases? Well, a few things, but the ones I had to work with were hierarchical (or, more realistically, networked) databases. One interesting point of the hierarchical/networked database is any data set you pull out of it can be directly represented as JSON, unless you really mess up the query.
So at the same time we were making coding harder in favor of a more robust programming model, we were moving our underlying data sources in structures that were easier to write code for in the old procedural models, but not in the new OOP models, as well as being, in many cases, far less efficient in terms of actual data access.
I mean, both things make perfect sense as improvements in isolation of one another, but if, instead of trying to rewrite the architecture to support a new query model, we had just come up with a new query model, we wouldn’t need object relational mapping experts to get our tools to play nice with each other. Yes, I know, old network databases had less robust data integrity controls, but still, if we had fixed that instead of replacing it … well, okay, I would never have been hired for all those data conversion projects.
Like I said, you have to have spent your life in IT to find it funny.