Coders Trade Secrets on the Smartest Corner of the Internet
Coders Trade Secrets on the Smartest Corner of the Internet
There's a niche market for everything — curly hair, cat apps, photos that only last a couple of seconds. And for the millions of programmers that work behind the scenes to give all those offbeat obsessions a digital place to live, they, too, have their own corner of the Internet: Stack Overflow.In this programmer's den, questions with expert answers are the norm. Having a specific problem with Java? Type your question into a search engine and, more likely than not, you'll be taken to Stack Overflow — where that problem has already been solved by a once-novice like yourself who has now made it into the programming big leagues. Run across a brand new issue with a rarely-used software? Create a new thread on the site and, shortly, you'll have multiple answers from others who have either been in your shoes and figured it out, or who simply took on the challenge when you asked.
What makes Stack Overflow so interesting and useful is that not only has the site attracted top programming talent to answer questions, but it also rewards those who provide advice. The site acts much like any other digital game — take Candy Crush Saga, for instance — except that the digital points you accrue on Stack Overflow actually apply to the real world. The better your reputation on the platform, the more likely you'll be hired — and soon.
This is no average Q&A forum. Here, the best of the best collaborate to reach new heights. Mashable caught up with Stack Overflow co-founder Joel Spolsky to find out how the site got started, how it came to generate "expert only" answers and how it continues to better the lives of programmers every single day.
Q&A With Joel Spolsky, co-founder of Stack Overflow
When search engines started arriving, programmers would search for their problems there. They would usually find archives of old discussions about the same problem, which would sometimes help, but sometimes wouldn't. That was kind of the state of things when Stack Overflow started.
What made Stack Overflow stand out?
When Stack Overflow started out, there were already a few ideas that had emerged on other platforms that I felt I could borrow and incorporate into the way that programmers got answers to problems.
One example was Reddit, which had come out with these conversations where you could "upvote" things — it was the first commenting system where you could vote things up or down. Now, you see that everywhere; it is totally ubiquitous. YouTube just added a similar feature. That system was never really around anywhere before Reddit did it, though. I thought, "Hey, if these are just answers and people vote on them, then the best responses will rise to the top."
There was also Wikipedia, which had become massively successful. Wikipedia essentially said, "Let anybody edit anything." I thought that, similarly, if we let anybody edit anything in a question and answer system — instead of just having it be a set-in-stone forum of conversation — that people could constantly make improvements. Then, those answers would get better and better instead of just stagnating.
I kept thinking, "Somebody else is bound to do this; these ideas are kind of out there for the taking." They were too obvious. But nobody did.
Why focus solely on programming?
It's interesting — when I originally had the idea, it didn't occur to me to make it only for programming. I sort of thought it was going to be about everything, or maybe just about the entire field of IT. I wasn't really sure where the line would be drawn.
Surprisingly, it was our first users who said, "No, this is only about programming." And they sort of started banning any other question that was off-topic. And that was actually really lucky. We discovered that if you make a site that is exclusively about programming, then you will attract expert programmers. If you make a site where anything can be asked, including programming, then you won't attract the experts. For example, you could ask a programming question in a football stadium, and there might be some programmers there and one of them might know the answer — but it's the wrong place to ask a programming question. If you went into a room full of programmers — even if there are only 20 of them, far fewer than the 10,000 people in the football stadium —they are more likely to be able to answer your question.Surprisingly, it was our first users who said, "No, this is only about programming." And they sort of started banning any other question that was off-topic
What we happened upon (which I think a lot of the other Q&A sites trying to be everything to everybody did not happen upon) is that the best way to get good, high-quality answers is to attract the experts — and the only way to attract experts is to create a dedicated site.
Is there a top-ranked user?
Historically, there's this fella named John Skeet in Reading in the United Kingdom. He's an engineer that works at Google. He was not [on the site] on day number one, which he is very embarrassed about. He has 29,612 answers on our system.
How many reputation points is that?
You get five points for every upvote. One of his answers, for example, received 4,406 upvotes. In that case, the popularity was mainly because it was super bizarre that he knew the answer. All the programmers stood around in amazement and said, "How on earth did you know that?" His number two most upvoted answer is a response to a question about Java that every Java programmer is going to have, so it is super useful.
I don't want to give him too much credit, though. I think we have 6 million questions in our system. So even though John has written a lot of answers, he has written only about 30,000 out of millions of responses. He is still just a drop in the bucket. We really are a community-driven website. It is kind of like saying, "Who has written the most books in the library?"
Do reputation points also help programmers get hired?
It works as an advantage. If I showed you a programmer's résumé, it might say that the person has worked at a company you've never heard of and the U.S. Department of Forestry, and that they went to school at the University of Nebraska. But how much information does that give you about whether or not they are a good programmer? But if I tell you that this person has answered 15 questions on Stack Overflow, and you can go read those 15 answers, it tells you much more about their expertise as a programmer.
Are there any particularly inspiring stories about people finding jobs or advancing their careers from Stack Overflow?
We hear a lot of stories. One in particular that I like is that one of the programmers here at Stack Overflow had a friend who spent a lot of time playing World of Warcraft online. So our programmer said, "Hey, you know what? If you spent the same amount of time on Stack Overflow as you spend on World of Warcraft, you'd be the most amazing programmer in the world. Just get addicted to the Stack Overflow game instead of the World of Warcraft game."
That person, whose name is Nick Carver, very rapidly came onto the site and became our number two user for a while. And then we hired him as a programmer. It's shocking how much he knows; he's written more than 6,000 answers. He basically just started using all of his excess time to learn programming and computers and IT stuff. He would find a question that he thought he could figure out and research it, write a little bit of code for it, and then figure it out and answer it.
He kind of won the Stack Overflow game, so to speak, in that he won the game on the site, and we also hired him as a programmer. And that's actually not that uncommon of a story. Stack Overflow users are very engaged. What do you think keeps them coming back?He kind of won the Stack Overflow game, so to speak, in that he won the game on the site, and we also hired him as a programmer
I think we've made programming about 5% easier for everybody. It's not just a few programmers who have benefited — it's really all programmers. They are constantly landing on a Stack Overflow answer and we are getting them past all their tiny little problems that they have all day long. So every time they set out to do something, we just make it a little bit easier.
And it's not a big deal. It’s not like you go to our website and we mail you a million dollars; it's not gigantic. It's death by a thousand cuts. Every single day, we cut the time you spend programming by five minutes, but we do it day in and day out.
That's the whole point of the Internet. Rather than asking something in an email where someone answers it and the two of you benefit, you ask the question in public, and someone answers in public, and now thousands of people will benefit until the end of time.
Stack Overflow has now transformed into Stack Exchange, a network of expert Q&A sites. Do any of the newer ones stand out?
At one point, somebody on the site quipped, "If a question could be answered by a typical math professor, you can't ask it here. It is too easy."
The amazing thing is that the site has thousands of mathematicians participating, and the number of research-level mathematicians in the world is not that high. We're talking about two or three people at every university. There are millions of programmers; there are not millions of research-level mathematicians. That niche community has all come to Math Overflow, and that's really cool.
0 comments:
Post a Comment