you don't need scifi books for that. Read up on the Java-class mentality in the 90's with people writing generic classes, and "puzzle architects" combining classes from a marketplace.
Was that really a thing? I ask because it feels like what I see people doing today around cloud and related technologies (kuber-this, kafka-that, etcd.), choosing solutions even before defining their problem.