There are many programmers who come from other backgrounds like engineering, physics or even social sciences. I have found myself programming more and more during my post graduate studies in the field of manufacturing and I am thinking about taking a programming job when I finish, because I find programming very creative and intellectually satisfying.
What were the most influential factors, when you were (or weren't) switching to programming from another background? I, for example, am afraid I have too much catching up to do never formally learning about algorithms, databases, etc.