Vernor Vinge's "A Fire Upon the Deep" expounds on the idea quite a bit. Imagine in the far future where pretty much all software you'd ever care to write has already been written, and the real challenge is in finding it again when you need it.
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.