I'll say this. There's advantages starting both ways. By starting from a CS background, you're likely to get a formal education into concepts and terminology that might seem boring otherwise. By starting from a non-CS background, you begin with the most important skill a programmer requires-- the ability and passion to teach yourself new technologies and concepts.
Any developer who begins with a CS background can learn to be self-taught.
Any developer who begins without a CS degree can learn algorithms and advanced concepts.