Earlier quoted context omitted.
As a computer vision/ML applications engineer I disagree with this. What you describe is someone who is actively implementing cutting edge tech. That is VERY different than what 99% of people should be doing with ML which is: Spinning up some K80s on Azure, installing TF/CUDA/OpenCL, pulling existing pre-trained models off the shelf, and running inference on a novel data set. That's how you get into it as a garden va…
I would definitely extend this to running training as well, but I agree with the concept - for most people, it should be either transfer learning to adapt existing models to their data, or running training from scratch with currently known best practice methods, NN architectures and hyperparameters, but doing it on their particular datasets. Possibly by using mostly existing code and modifying mostly the data input/o…
Unless you have a novel data set and a way to quickly train you're probably better off using existing trained models in most cases.
I agree with the transfer learning piece wholeheartedly though.