Civil engineering is not as perfect as often supposed. There are plenty of defects from barely noticeable to catastrophic. The software world simply knows nothing about other engineering. There is an easy way to see: just check the references in software engineering books and papers and count how many point to other such disciplines: practically none.
Neither is civil engineering as predictable (or controllable) as supposed. The majority of time, cost, and risk is borne by construction, so this overshadows the part most equivalent to software -- the engineering design proper. But this stilll has the same inherent difficulties as any design work.
Saying software makes other engineering look trivial shows a lack of knowledge. If you learn a little of civil engineering you will find it is just as complex as software.
Software is not all entirely new: look at all the reused components, libraries, etc. That is substantial, perhaps even the majority proportion in some sense.
There is probably more complexity of interrelations of parts in software, since physical designs are constrained to a more 'regular' physical substrate. But I don't think it is too bad, because the design activity is intrinsically isolating to a large degree.
Software has almost none of the physical constraints in other engineering, and it is so changeable at any stage. It really has distinct good fortune and advantages. And it is everywhere, it runs the world. It is a great success. Yet it is seen as failing. We don't have a mature, perceptive, understanding attitude to it.