To compliment @ycartwhelen's answer when I am developing a dataset in a file geodatabase and I know the client will inevitably want the output in shapefile format I keep the field name length below 10 characters but provide a more descriptive name in the alias.
Whilst the field names can become a little bit cryptic it completely avoids the problem of the field names becoming truncated and impossible to understand unless you have prior knowledge of the source data the export came from.
How many times have I seen (sometime from government agencies) field names like Cat_type_1, Cat_type_2, Cat_type_3... when something like ctype_BL, ctype_WT, ctype_UR would be so much more helpful.
Basically poor data management.
If you are supplying just data quickly to a client, I would now be considering using the geopackage format as an interchange format. Unfortunately the current release (3.2) of arcgis pro does not support metadata. If it is a final deliverable then send it as a file geodatabase.
Shapefiles are a very old format, a file geodatabase is superior in every way.