Why is marketing so hard for engineers?
Short answer
Because the two disciplines reward opposite instincts. Engineering rewards precision, completeness and describing what a thing is. Marketing rewards compression, repetition and describing what a thing does for someone. Being good at the first actively interferes with the second — the more accurately you can describe your system, the harder it is to say the one blunt sentence that makes a stranger care.
The longer version
It is a training problem, not an intelligence or an effort problem. Years of engineering rewards you for precision, completeness and caveats. A good technical description covers the edge cases and refuses to overstate. A good piece of marketing copy does the opposite: it takes one benefit, states it more flatly than feels comfortable, and leaves out everything that would qualify it.
So the engineer writing about their own product produces something accurate and inert. Every sentence is defensible and none of them make a stranger feel anything. The instinct that makes you good at your job — do not claim more than you can support — is the exact instinct that produces copy nobody finishes reading.
The second problem is repetition. Engineers treat saying something twice as redundant, because in a codebase it is. On a social platform almost nobody saw it the first time, and the people who did have forgotten. Marketers know a message needs saying dozens of times before it lands; developers say it once, hear nothing, and conclude that marketing does not work.
The good news is that none of this is a talent you either have or do not. It is a set of conventions, and they can be learned or borrowed from someone who already has them. Borrowing is usually faster.
The full argument, with the rest of the picture around it:
Why Developers Can't Market Their Products (And What Actually Works)