First off, I love Stack Overflow. In the way that only someone who taught himself programming via outdated books, and old-school programming forums can. I think it’s the best way to ask most programming questions on the web, but that doesn’t mean it can’t get better. 

Background: Today I just helped my girlfriend  @rubyku signup for a stack overflow account. I did this because she found the exact answer to her question already answered on Stack Overflow and felt the person who answered the question rightfully deserved some recognition. After we got her signed up, we went to give credit where credit is due, and “up vote” the answer, when suddenly we discover *wham!* we can’t because she doesn’t have enough reputation points. So she closed the window and moved on. While she got the question answered, she didn’t engage with the community and was frustrated by the interaction.

Reputation: On Stack Overflow reputation is measured in points and does two things, it keeps spammers and people trying to game the systems at bay. It also encourages users to provide good answers and ask good questions. I think the reputation system does a great job to accomplish these things, but it inadvertently does something else. It discourages new users from becoming part of the community and engaging since someone who just started can’t fully participate. They first have to ask or answer a question to get reputation. 

Solution: Use mentors to merge real life reputation with online reputation, since i’m mentoring someone in person, i should be able to mentor them on Stack Overflow. I can vouch that she isn’t a bot, or a spammer, and I can give her real world motivation and incentive to get involved online and off. It should (could) work like this: I give up some chunk of my reputation to this new Stack Overflow member, and in return I get notified any time they make an action. This allow the mentor to help guide a student’s questions, comments, and up votes as only a real live person can, while giving accountability to student. But why would someone want to be a mentor, give up their points, and be bugged constantly? Besides caring about someone and wanting to see them succeed, there is a greedy reason built in the system. Since a mentor gets notified about any post the student makes, they get first dibs on questions, and in the long run if they are consistently helpful and answer their student’s questions, then their reputation will increase dramatically more than if they had never given up points to become a mentor. 

Whether or not Stack Overflow ever implements such a model, we as programmers should always remember that there was a time when we needed help and sometimes an IRC channel or forum post, just wasn’t enough. While many of us are “self taught” programmers the most successful of us had some help along the way. Stack Overflow is a tool to help someone become better at programming, but not **THE** solution. We need to start bridging the gap between people who care, and people who need help. The more we use technology to bring these two groups of people closer together, the more we all win.

Update:

One of my friends @ericbrynsvold suggested that i post this to meta.stackoverflow.com, so i did, you can find the post here: meta.stackoverflow.com/questions/111397/stack-overflow-needs-mentors