Damn another plumbing reference....
I am a Plumber, master at that, state certified and all. I'm also an MCSE 2000. Plumbing and Computers are very similar.... at least at a high level, not talking glue pipe together or building a computer.
Logic and critical thinking are key. I can go into just about any structure, and surmise the basic layout and routing of the structures plumbing/mechanical system. There are only so many ways to skin a cat.
Doing basic plumbing is alot like networking, writing a script or a web page. If you know what to out come is supposed to be, you can muddle thought it.
Designing a Mechanical System, Water Distribution, Sanitary Piping, HVAC/R, Process Heat Recovery and Redistribution, and make it work correctly and with little maintenance is a whole other issue.
Real Programing, Like Mechanical Engineering, now that is the realm of the Professional. If you want to knock out a simple script to move data from one program to another, change a faucet or toilet, that's fine, Other than that, find a programmer or plumber and make a friend, share a beer, and have him do it. At least you know that it's done right.
Like my daddy said right before he killed my moma, you can hire talent, and fire 'em when the jobs dun, or you buy a friend a Papst Blue Ribbon and have them do it for you, plus talk about the best way to beat your wife and kids. Kidding.....