As Catia designers/engineers, it is entirely fair to say that the greater majority of us have learned to ply our trade after a brief introductory period of training on the CAD system, which is then further bolstered with advice from our immediate peers with more experience on that system, who will show you that company's preferred methodology to construct model data with, no doubt, their own personal spin on the best way to create certain features.
My main background is in BiW design using, primarily, the Generative Shape Design surfacing workbench in Catia V5. In other design disciplines, in common with BiW/GSD model creation, as you learned to construct your engineering designs you could probably complete your task using less then 30 types of modelling operations: Point, Plane, Line, Sketch, Extrude, Sweep, Fillet, Split, Offset etc. Then you will of course use a couple of other workbenches like Assembly or Kinematics.
Think about that. A massively complex design system as Catia is, and most people stop exploring at the point they know just enough to produce their work-a-day models. Most will be aware of the use of parameters and formulas which are available as a matter of course in most workbenches, and may even use these to tie certain features or functions together - but how many do, really?
Dassault actually provides a few opportunities to allow an experienced designer/programmer to automate certain aspects not only of the model development but also of the wider processes of checking, validating and communicating your data and associated information to the rest of your enterprise and downstream clients.
So how do you go about creating a corporate-wide methodology and automation process? If you ask a designer what you could do for them to make their design process quicker and easier, they most likely wouldn't know the full spectrum of automation tools available to task. So what would they understand to be possible and know to ask for? Conversely, if you have an experienced programmer and asked them to develop a start-to-finish process for a specific engineering product design, what Catia methodology and product design experience do they have to understand which development functions to automate?
With over 15 years experience designing with Catia V5, including 7 years experience of programming for Catia, I can capably bridge these 2 separate positions.
With that in mind, let's see how an engineering development team could work smarter.