I'm a mechanical engineer in physics and I've had no formal training in writing code or computer science, yet, I am now doing simulations for atomic physics in Python. I am designing some software library package which will serve as a sort of diagnostic/design tool for future experiments with a machine being built.
I've run into the problem of figuring out how to organize the whole dang thing and sometimes have to go back and re-write a lot of code. Can you recommend any good books that introduce computing concepts for applied physics and engineering?