A better analogy is that software dev is more like making the rug making machine. If you were doing that, it would be useful to be intimately familiar with precisely how rugs are made, and you might want to make a bit of one by hand in order to get that experience. Then when you design the machine, you use gears, 4 bar linkages, and other mechanisms that you are already familiar with because you carefully studied those concepts earlier, likely with some hands-on exercise. Then you draw a design, simulate it, and send it to a machine shop and can possibly never touch the machine itself (although I think in practice these kinds of bespoke first-gen machines need debugging after manufacturing).
I.e. in order to get to the point where you didn't have to manually touch this thing, you likely did have to learn deeply about its underlying concepts by manually doing things.
Operating machines doesn't always have the same phenomenon. E.g. experience with a hand-powered drill is unnecessary to use an electric drill.