I have no CS degree, but at the time I was in college, CS programs seemed embarrassingly poor compared to today. I took a few, elective CS courses and did CS research back then and remember numerous graduate students trying to cheat off of the undergraduate English major.
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.
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.