Star Trek: The Next Generation follows the adventures of over a thousand crew members on their highly advanced Galaxy-class USS Enterprise. As flagship of the Federation, she was designed to go on deep-space exploration missions that may involve being out of contact with Starfleet for periods of time We see a lot of pseudo-engineering on the show: Geordi ‘n pals have academic-levels of knowledge regarding warp drive propulsion and are often pressed into service maintaining these highly complex systems.
Aiding them in it all is a highly refined computer system that utilizes a rather sophisticated AI which allows command staff to verbally create miniature programs by speaking in natural language. This all seems natural: programming is largely rooted in logic, and especially for small programs it should be expected that most of the crew would be familiar enough with the systems to create small functions on-the-fly.
What we don’t see any of, however, are the software engineers on-board the enterprise. It’s not a stretch to assume that Starfleet regularly patches software onboard its ships, and likely would rely on the skills of deployed engineers to diagnose and patch bugs while on missions. New features seem also quite likely: probes need to be programmed, diagnostics modified, and research applications developed.
So who are they? The propulsion engineers almost certainly don’t have in-depth knowledge in computing software: they frequently seem limited to only running diagnostics on the computers, and may not even have write access to production source. Data appears to have slightly more skills and access to the computing systems, but he’s unique: other starships don’t have that kind of dual-purpose engineering talent that he possesses.
It’s likely they just weren’t anticipated during TNG and the subsequent shows of that generation. And even if they were, they’d be like Stellar Cartography: sometimes mentioned and rarely seen.