I don't understand the view that coding is like a trade; even with a good idea of the systems involved and an intended design, I often find out things while coding that change the perceived optimal design substantially. I don't think this is nearly as likely to be the case with wiring or welding, and may even be impractical to change regardless given the less mutable nature of the metal or electrical systems you're working with.