If you've had any experience as a machinist, then try your hand at being a programmer only. However, if you haven't been a machinist first and lack some of that experience, you might piss off a few people lol.
Its been my personal experience that the very best programmers and the very best draftsman and engineers have been previous machinists. They know the ins and outs of how stuff is done, not just the G and M coding or know a few ATSM codes. The process and experience in the process is as important if not more than the programming imho. You can program something all damn day, but if you don't do it correctly, in the right order, most efficient path etc. you'll get no where with the job.
But if you learn to program CNC mills and lathes, you can also do laser tables, plasma tables and water jets. Plenty of shit is CNC these days. You might want to check into getting certified running a CMM.