Got a machine (a teach style lathe with a Fagor control) put into the workshop and was told I better learn how to run it. Spent about 3 hours with the guy who commissioned it and still didn't know much but the manual machining background helped quite a bit with the controls conversational programs. Went on Saturdays for about 2 months to a guy that was trying to start up a small basic programming course to try to learn a bit. Back then it didnt help much since the fagor was loads different to the fanuc style classes I attended. Finished the classes and put my notes in a drawer and pretty much just ground it out with the error manual, if anyone has started from scratch with a fagor error manual you will know how frustrating it can be, and programming manual in hand before,during and after work.
Once I could program and set that one up with pretty much my eyes closed they bought a old machining centre with a fanuc OM control and they pretty much threw the responsibility on me again... I pulled my notes out from the fanuc turning classes I took those few years before and stood behind the machining centre with the Fanuc yellow book
and a clip board. It was a proper grind but I hand wrote out each and every program and went to shops around us to beg guys to look at them for me and give suggestions. I remember a simple contour with a few drilled holes here and there would take me an entire day after the whole process of setting tools, figuring out how to clamp a part seeing as now I could to loads of operations in one go opposed to just one or two like in the manual mills, writing my code out in my note book, double checking my code,punching it into the machine,double checking on the machine, and then eventually running it with one hand on the feed hold and my butt clenched so hard that I would struggle to take a crap at the end of the day.
After learning that, with the help of the internet which in my opinion is a resource that does not get used enough for programming help, I like to brag that the same guys that helped me check code back in the day come to me for programming help now. I try to never standstill and always try to tweak my programming skills every chance I get by trial and error. Since then a few more machining centres,full cnc lathes and wire cutters have been my toys and the learning curve seems to become less time consuming each time.
I only bought a CAD/CAM about 2 year after the first machining centre which has helped a lot but I still don't understand how people expect their CAD/CAM to be able to do it all without any sort of tweaks. I hand code lathes and only really use CAM for the machining centres when 3D comes into play or if machines are running and I can waste time by drawing out something and programming offline or use it to generate profiles that I normally just dump into subs to use on my normal fingercam programs (when I am lazy this also comes into play but I almost always land up tweaking the CAM programs anyway). Then my interest in macro B sparked up and that started a whole new way of tweaking programs and making myself think that I am a genius
The programming or CNC thing all started probably about 12 years or so ago...