A surprising amount of math/science/engineering types still seem to consider actually programming their models and and such to be the grunt work, sometimes even handed off to someone else. Seems like a terribly inefficient way to work.
Yes and no. Learning the intricacies of your particular domain as well as high performance computing is massive task. I used to work as that "someone else", and on the whole I think it was a good way to split the work. They gave me slow python/matlab code that solved a hard problem in a very clever way, and I made run in reasonable amount of time using a reasonable amount of memory etc. I will never know as much about thermodynamics as the scientist, and they don't have the time to learn the best way to make software run really fast.