Don't get me wrong, customers are of paramount importance to every business; And in the startup / small business world, the programer is often directly building things for them, but that is not the role of a programer, and that is what I chose to focus on in this specific blog post.
The roles you describe are more often associated with Product and Program management; They are important, and in a startup, even where I work at Cloudkick, the roles all bleed together, but they are fundamentally different.
I'll close the comment with a quote from Office Space:
I'm a people person. I deal with the
customers so the engineers don't have
to. Don't you get that? What the hell
is wrong with you people!
The roles you describe are more often associated with Product and Program management; They are important, and in a startup, even where I work at Cloudkick, the roles all bleed together, but they are fundamentally different.
I'll close the comment with a quote from Office Space: