Programming is science. The same script, given the same variables, will always return the same result. Programming is consistent, repeatable, analytical.
Marketing is art. There aren't two identical marketing campaigns. Marketing is hit-and-miss, creative, constantly re-invented.
Science is learned through theory.
Marketing is learned through practice.
Programmers who want to learn marketing and marketers who want to learn programming struggle because they need to change how they think and, most importantly, how they learn.