Even if you cannot be bothered to hand write it ( I don't most of the time), it is necessary to be able to read gcode and understand what a CAM system has generated for you. Like, I understand what arc center coordinates mean, but I hate figuring them out
Understanding gcode also pays off in understanding how to configure a post processor to generate the correct syntax of code for a particular controller.
I'm kinda glad I cut my 'cnc teeth' on old Bobcad Gold, because it made me pay attention and learn to carefully proof-read the programs It seemed great at the time, and to avoid doing hand programming was my first real incentive to even get a computer in the first place.
First you get good, then you get fast. Then grouchiness sets in.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)