Hackers should try and become better at selling themselves and knowing their worth. This, however, is an art - selling yourself well is a very subtle and hard thing to get right. Underdo it and you won't get results. Overdo it and you'll sound like a pretentious asshole.
The nature of programming work is not so far removed from what a corporate lawyer or financial analyst does. Yet programmers have a much different public image. I think it's fair to say programming attracts certain idiosyncratic personalities that affect the general perception of the work.
On the same theme as the grandparent post, don't undervalue the soft touch. There are people who bring to the table little more than that they're nice and likeable. I've seen such people in analyst roles responsible for retaining or creating substantial business.
If people care about what they are doing and come to work happy and ready they will produce much better work.
Unfortunately I think this also has to do with the way Western culture views the foundation of programming (math, science, ...). Unlike in say Asia, math and science are looked down upon by main stream culture; since they are considered "nerdy". Maybe that's why we are on our way to producing a lot more lawyers than programmers and engineers (at least for our part of the world)...
For that matter, here's a link to the essay by Philip Greenspun: http://philip.greenspun.com/ancient-history/professionalism-....
From what I gathered from the article, you're misrepresenting him. His qualifications are much more about giving back to the community and actually giving a damn that it is about aesthetics. Perhaps I didn't find the essay you're referencing?
Finally, I don't think you're metaphor using the corporate lawyer or financial analyst is accurate. The corporate lawyer, especially, has far more public exposure than does a programmer, and maintains his image as much or more for the company's sake than his own.