Just an idea I had for how to monetize StackOverflow with very little impact to users.
You could allow a user to pay a monthly fee so that they can have a signature underneath their name when answering questions, such as a small image or a certain amount of text. (in the same way as forums allow)
This has a few effects:
If they answer more questions legitimately more people will see their sig and associate it with a smart answer, and hence they'll get better value for money
It will allow companies to take advantage of the exposure their smart developers get through answering a lot of questions
It will discourage spam-answers as who would want their company associated with a lot of down-voted answers?
Let me know what you think.