In an article about Craigslist, Gary Wolf writes:
By eliminating marketing, sales, and business development, craigslist’s programmers have cut out all the cushioning layers that separate them from the users they serve, and any right they have to teach lessons in public service comes from the odd situation of running a company that is directly subservient only to the public. Here’s the lesson: The public is a motherfucker.
Business, marketing, and sales are parts of your business that you really just shouldn’t be able to live without. They probably teach that on day one of business school. But is removing them all that bad of an idea?
It’s impossible to remove the departments entirely. There will always be business work that needs to be done. The work won’t be done by experts; instead, your programmers will take care of it. Things might not get handled perfectly, but like everything else — it’s a learning experience.
In many companies, programmers are code monkeys. They don’t do much more than write code. They write code for their boss. The marketing team sells the software. It’s hard for a programmer to understand why she is writing what she is. Cut out all the middle management, and now she doesn’t just write code. Every so often she has to make a business decision. She has to help market a product. She helps with support. Now she is in direct contact with the customer and understands why a feature needed to be added and what should be done next.
If you deal with the public, that leaves your programmers learning an ugly truth as well. The public really is a motherfucker. It doesn’t really matter what industry. People complain when they don’t get what they want, and they keep quiet when things go as planned. The people who complain are often harsh. Hearing such harshness can easily strain anyone’s wellbeing, and you can’t wish that on any of your coworkers.
There’s a delicate balance here, but a programmer knowing first hand what customers think is definitely valuable.