I do use it for 3d printing projects. It's far from ideal, and doing anything precise in blender means having to learn your way around the various snap tools and the like. But it does work, and work nicely once you learn how to.
That said: you should probably learn some other programs too. Personally I use openscad and solvespace too depending on the use case.
If you're a programmer, however, consider looking into OpenSCAD or OpenJSCAD:
http://www.openscad.org/
https://openjscad.org/
Not only are they more programmer friendly, but making parametric models should be much easier as a side-effect.