What good programmers need is honest marketing. What real programmers need is to learn how they can remain honest, communicate effectively with their customers, and still sell the product.
I've seen this so many times in so many organizations. The sales and marketing team write up a bunch of lies and tell the potential customers anything they need to hear to get the deal and then the programmers are put in a position to have to do impossible things. The sales people don't even know what they are selling.
If a lead asks a sales guy if product x can do function y, they say "Yes." This answer is given without regard to whether or not product x actually can do function y.
Where is the balance?
The programmers lose on the sales side, because they think the customer wants the truth and sometimes the truth is, "I don't know." Or "No, product x doesn't do function y, but if you buy product x, we'll implement function y just for you." Unfortunately, that makes the customer think the product is unfinished or hasn't been well thought out. The reality is that there are myriad functions that product x doesn't do, but can do easily but no one else has asked for it or needed it, so product x engineers focus on other things.
So that's what the programmers do, they focus on other things besides sales and marketing, they focus on making their product do whatever their customers ask them for, but every new potential customer wants the product to do some little other thing so it's an endless cycle.
What programmers need is to know how to market effectively. How to sell honestly. How to close deals.
They don't need to be lied to anymore than the customer does.
I think the word "lie" is a bit strong for your meaning. Misled, perhaps, or ill-advised.
Lying means to deliberately deceive. Whatever you think of the title, there is no reason to think the author is trying to deceive you.
On the other hand, I think the title is a demonstration of the need sometimes to be "edgy" or humorous/ironic... especially with something like headlines.
And, yes, your point is well-taken that that is probably not a direction where programmers are likely to head. ...even when catching the attention of other types (potential customers) might call for it. Hence the value to programmers of outsourcing the marketing process. IMHO.
Better would be to morph marketing and development into one by maintaining intimate contact with your market as you develop your product. You end up building what they want and have a head start on your sales cycle when you're ready to release.
How do you fix that?
Not by fighting the urge to type, but by feeding it.
You mention "coding one more feature". Where did that feature come from, you or your users? If you consider "intimate contact with your market" as a box on a flow chart that provides input into "features to code", any self-respecting geek would understand how important it is as a critical step in the dev process.
"Intimate contact with your market" is just as important for development as it is for marketing. Don't allow yourself to play the introvert card when pieces of the puzzle are still missing.
Doesn't mean you aren't right and people shouldn't try though.
However, a great coder can probably get away with being a decent marketer. I just think that it's the extreme case of genius coder + clueless marketer that is a killer.
Even in the rare case where one singular talent is both a brilliant sales man and a brilliant technologist, he is probably better off focusing on one and finding a partner to handle the other, just because there are only so many hours in a day. At the same time, it is still a good idea for the sales person to understand the product and for the product person to understand the customer.
Of course SEO is useful and the web is a must. But you must write, not just read.