I'm an old Electronics Engineer that first learned programing in my college years by writing Fortran code on punch cards. Once on the job I needed to learn several different languages to keep up with the industry. After I retired and built my CNC milling machine, writing the Gcode myself just seemed the natural thing to do. I tried using Lazycam, which comes bundled with Mach3, but for me, it's always been easier to write the code myself.
I use TurboCAD to find all the X-Y-Z numerical positions for start & stop points, and radiuses for curves, and plug in the values as I write the code. MicroSoft's "Notepad" app works well for writing the text without including any unwanted functions like what font is being used, text size, bold face, etc.