However, while I think it's very good for animation/rendering purposes, it is missing a lot of things you might expect in a full CAD app. I use it to build meshes and then describe how to deform it. It has some procedural constraints. I recall it has some snapping behavior, and googling around shows some plugins that try to add some of this missing CAD functionality, but I can't really judge their success.
Maybe see also - https://blender.stackexchange.com/questions/53293/is-blender...
If you're a programmer, however, consider looking into OpenSCAD or OpenJSCAD:
Not only are they more programmer friendly, but making parametric models should be much easier as a side-effect.
That said: you should probably learn some other programs too. Personally I use openscad and solvespace too depending on the use case.
I've used SketchUp a lot, but it has many limitations. Other 3D modelers are either proprietary, or don't seem to provide enough automation to justify moving away from SketchUp.