178 comments

[ 0.20 ms ] story [ 121 ms ] thread
I know it's fashionable in certain circles to rag on it lately, but I'm not too big to admit it has saved me a lot of time here and there over the last 4-5 years. I would bet a lot of devs use it more than they would admit to check down on things throughout the course of any given project.

Billions seems like a lot, but I wouldn't call BS on it out of hand.

Personally I think StackOverflow is pretty good. It's always nice to see it popup in search results when googling for a technical problem, for example. My main complaint is that they've been resting on their laurels for quite a while, there's a lot of potential that's been wasted with SO/SE.
Just curious, what do you think we could be doing that we aren't?

Also thanks for teaching me a new idiom :)

In general, experimenting more. You've tackled the narrow use case of a single question with answers, but is that all SE can be, or should be? The thing that I think SE is most lacking is better ways to tackle the sheer amount of data on the site. There's a lot of information there but in general it's not very well organized. Go back to the original announcements about the launch of SO and see what it was supposed to be and how it has either lived up or not to those ideas.

Try this thought experiment: if a stack exchange competitor showed up tomorrow, what sorts of features would it have to have to make you start waking up in a cold sweat every day?

Luckily a lot of us are on the same page as you :)

One of the things I consider a main detriment of our current product is that for the vast majority of users it's built to be transactional. Search, land on SO, read, go back to work.

On our currently in development mobile apps we're trying out something different, for the first time at scale we're pushing content to users rather than having them search for it as the number one utility of the product. The apps have a "Feed" which is machine learned interesting for you questions.

I love it since I search SO at work but when I get home or am walking around town I can open my app and instantly lose 30 mins (at least) to reading and interacting with very interesting content. I can't wait to see if others like it.

Thats a great start but there are other ideas too. Why isn't SE as useful for people in other professions, like product managers or data scientists or marketers who are also looking for answers to their work problems? The key is that just replicating the site is not the answer, you need to really focus on community dev and getting the thought leaders from those professionals involved. Lastly, along with the 'feed' implementation, you can also start curating other content from the web that could be useful to the users of your site. example: If I am particularly interested in Javascript, I get a feed of curated resources from around the web that will help me learn about the latest and greatest in Javacript. Thats whats missing today and thats why SO is a transactional site
I actually originally had something related in my post but removed it: I won't personally consider the site I work on a success unless my mom uses it. She's a physics PhD and she once in a while stumbles onto physics.SE when searching online but she doesn't actually use the site.

I think SO and Server Fault are the size they are because they have an intrinsic advantage over our other sites. People in the target audience work and live in the same tech ecosystem as a website, with something like physics that's an initial burden.

SE itself also has a high barrier to entry. Every one of our sites has it's own rules and definition of what type of content is acceptable. This is for a very good reason, seeking out absolute answers to questions. Most other websites on the internet live to foster discussion, but we're not a forum.

Making stack exchange a common name (in more than our sizable niche) is one of our company goals, but I don't really know what we can do to get past the initial issue I mentioned and reducing the second would hurt our product.

It's quite an interesting idea to be more proactive about bringing thought leaders to out lesser known sites, I don't know if we could do it just directly since most thought leaders are very busy people who already have a dozen places people ask them questions but it's something to think about. We already consider expertise of contributors in Area 51, our incubator for new website ideas.

Perhaps while we may not be able to get the top 1% of thought leaders onto our websites without giving them a really hard question to answer (my mom loves difficult questions, god knows how many times she used to run into my room and say she solved a question I asked her in passing days prior) but it might be possible to bring in up-and-coming thought leaders. A lot of my friends from the health and fitness industry (were I used to live) might want to use our Physical Fitness Stack Exchange site to foster their own personal brand.

I can understand that being an absolute answers to questions makes sense for some of the technical fields where the answers are black and white. However, as you start branching out to other forms of questions, like your mom's who is a PHD in physics, sometimes the answers are not absolute, but its the discussion around them that unearths something really powerful. So, why not test that out in one of your websites? Whats the worse that can happen? You can change it back.

To your initial issue, yes reaching out to the upcoming thought leaders could be great. I know of a few friends in fitness industry who send me thoughts via email. But don't discount the ability for you to get the top 1% thought leaders. Have you tried it? You would be surprised by how many of them actually want to show their leadership and 'help' others.

BTW Thanks for reading my answer. I usually am a silent browser of HN and felt compelled to answer since I have been thinking about this a lot. Would be happy to jump on skype to chat further.

I guess programming is particularly fast moving and information becomes obsolete very quickly. A book about mobile app development written in 2005 would be laughably obsolete today. A mechanical engineer on the other hand can probably still find value in books written in the 1960s.

So there's less need to be constantly feeling out new undocumented territory in other professions.

My main with stack overflow, as it gets older, is answer rot. A couple of times I have come across answers which have become out of date, but it is non obvious to me the best way to reopen the question (I, along with most readers don't have the karma to edit questions / answers )
Maybe write a comment, "This is out of date. Can someone update this?" You might even want to flag the question. You can also add a new answer and downvote the obsolete answer. Getting enough points to edit questions is pretty easy.
Everyone can edit questions and answers (if you don't have the full-on privilege yet, your edit will go in a queue and be vetted by more experienced users).
(*) where resting on laurels is defined as launching 111 sites running on 9 web servers with traffic doubling every 12 months while writing two native mobile apps and localizing the site :-)
Hey, that's great, but to be brutally honest most of those sites are borderline inconsequential. The fact that SE has yet to launch a site that's gotten bigger than StackOverflow is pretty damning. Everything else you describe is just work, it's not innovation.
True and Stack Overflow is #1 in North Korea.
That's good but SE is a federation of sites, so it's an unfair comparison.

From the start I've always thought that the biggest danger to SO/SE wasn't failure, you guys are smart enough to see and recover from outright failure. Instead it's reaching a level of success far below what you're capable of.

It seems to me that SO/SE spent a lot of work innovating in the early days but once they found their comfort zone they've stopped innovating. They are good sites for their intended purpose but how much of the original vision has been abandoned? I remember back when you and Jeff were talking about taking over the way all online discussion happened. Nothing like that is even remotely possible with the way StackExchange is today.

To be bluntly honest I think you guys are just lucky that most of the ambitious and competent folks in the industry don't view discussion as "sexy" so you don't have as much ompetition as you would otherwise (quora is practically a joke). But realistically it's just a matter of time until SE will be out innovated.

I'm not totally sure about that, if for the sole reason that SO/SE has such a huge volume of answered questions already. Unless they make those answers harder to access, I think there will always be a contingent of people who'll need them.

However, I do hope that we get an even better discussion platform than the ones we have now. I really look forward to even cooler products in the future.

"I remember back when you and Jeff were talking about taking over the way all online discussion happened."

Aren't they now -- or at least Jeff Atwood -- working on Discourse?

Yep, discourse.org. It's a little too heavy weight for my uses and I think they really need to get the client and server requirements down a bit so that it can take over where PHPBB was once used.

See http://discuss.emberjs.com/ and http://bbs.boingboing.net/ for real world implementations. It's very, very cool to see forums being dragged out of the 1990s.

Jeff left StackExchange, he's just working on his own now.
"I remember back when you and Jeff were talking about taking over the way all online discussion happened." - not quite right. The problem in hand was that good Q&A was buried in discussion forum type apps.

The whole point of SO from the beginning was to build a Q&A site for programmers that didn't suffer from the shortcomings of using apps such as phpBB etc, where threads get hijacked and pages upon pages of extraneous discussion and arguments take place making it difficult to find and answer to a specific problem.

I can learn and know one language incredibly well, excluding the html/css/js world, as those are effectively required at this point. For me, that's PHP.

However, when I need to go to work, and my boss decides "So that position we hired you for, now its going to be ruby as well, but later on ObjC and Java.", SO comes to the rescue.

The core concepts of programming languages were cemented in my years deciphering terrible notes and learning to code in college, however the little nuances of each language inherently evade me. This is where SO has shined the most. Most of the time, solutions with multiple approaches suggested show more about the language itself than the problem asked.

What on earth is bad about using StackOverflow? You're expected to google around to find solutions anyway, if anything I would think much less of the programmer who tried to avoid it. It's stupid pride when it's such a valuable resource.
I agree with you, but several people I have encountered don't feel this way. For instance I had someone try to explain how using HAML made their developers more valuable because of all the keystrokes they were saving. When you're counting keystrokes as a developer productivity metric I can only wonder how toxic the work environment becomes when you need to stop to look at documentation yet alone use Google or SO.
Maybe that person's team is more productive with Haml not simply because of the small amount of time that's saved by less typing, but because of the huge amount of time that's saved by not needing to replace developers who are institutionalized or commit suicide as a result of being forced to type HTML tags like it's still 2005[1].

[1] The year before Haml was introduced.

I'm not saying HAML isn't of value. Please don't misunderstand me, I like HAML. I use it for my template engine with Sinatra. But in the grand scheme of things if using HAML to increase productivity by saving keystrokes is what the company thinks is its competitive advantage, which is what they told me, then how do they deal with someone spending time just researching (i.e. stackoverflow, google) and thinking a problem and solution through thoroughly? The two seem at odds to me.
Uh, not to rag on HAML which I'm sure you find great but all the text editors I use these days auto-complete HTML, including closing tags. I spend a fraction of the time typing html compared to the time I spend thinking about why the hell the damn image/span/font/button isn't in the right place.
Ego is my number one pet peeve about coworkers and I have a really hard time working with anyone who won't admit they don't know everything. I have a coworker who I can't tell that I got an answer from stackoverflow because he will instantly say "I don't care what reputation he has blah blah blah he is wrong" and won't listen to any actual research on the topic.
A lot of time has been spent by developers trying to get points. There is a cost to that.

The site has enabled software vendors to slack off on their documentation. If there was no StackOverflow the vendors would have to do better. I'm thinking of msdn as an example since a lot of the Stack questions are MS technology based. MS is far from alone though. Much of the money saved has gone to vendors.

Even given those points it has still saved a lot of money. But billions? I don't know if it would be that much. It would be interesting to know what the global number for reputation points is. There may be a correlation to money saved.

(comment deleted)
When you answer questions and get points though you teach and that is the best training. Many times when I answer questions I find out more details and learn as well. Anytime a question is answered this is training investment for free really. It is also something that helps your programmer brand.

With open source and sites like stackoverflow, a single programmer can become a team of programmers/knowledge very quickly. It is part of what has made each programmer better I believe. On the flip it has also made programmers more lazy possibly. Finding an answer and being able to solve and provide an answer to the question are two key pillars to providing solutions. So I'd say question answerers and associated companies are getting more out of it.

(comment deleted)
> Many times when I answer questions I find out more details and learn as well.

I've experienced this several times too. In verifying details to make sure I'm not handing out duff information, I've stumbled over a semi-related point in the documentation that triggers a "I wasn't aware of that, I'll have to look into it as it might be very useful" response.

Also I sometimes just browse for interesting questions. You occasionally stumble upon something you didn't know that you needed/wanted to know!

    The site has enabled software vendors to slack off on their documentation ... I'm thinking of msdn as an example
The number of questions on SO that can be answered by RTFM is quite remarkable. I think that points to a lot of the documentation being just fine. The last bug of my own I spent any significant of time on was answerable by RTFM [1].

There are plenty of PHP+MySQL questions that appear where the OP is clearly learning about PHP+MySQL and the code looks something like...

    $result = mysql_query("select username, password from user where username = " . $username)
...shows that they haven't bothered to RTFM [2].

[1] I had made a new thread and was calling ShellExecute on it. It didn't work on some computers because I hadn't initialised COM (presumably they had some shell extensions installed). See the first sentence of "Remarks" http://msdn.microsoft.com/en-us/library/windows/desktop/bb76...

[2] Big red box: http://www.php.net/mysql_query

I want to float a different hypothesis: the perception of programming is so hung up on the idea of individual brilliance that most people, especially beginners, don't even realize how much value there is in reading the manual.

And we as programmers add to the problem. It's not very sexy to say that there is a lot of useful software out there written and documented by smart people and if you read that documentation, and think through a problem with great analytical detail you should be able to find a clear solution.

My experience has been that technet's documentation is so unreliable that I've learned to go to SO first.
Yeah, I goto SO (well, SO through google) because with most questions, I get a practical answer to my exact situation in seconds, as well as suggestions as to why or why not different approaches might be warranted. They're not all perfect, but it's usually food for thought.
You are quite right. All of the information is in the manual, and if only everyone would spend their time reading the manual there wouldn't be so many questions on SO. However, the volume of information in most manuals is also the problem. If everyone read the whole manual, a lot of time would be collectively wasted because most of the information is not useful or relevant to what each individual developer is trying to do. In my opinion manuals should be written in several tiers of detail. Admittedly, a lot of software developers already publish documentation this way and these basic questions still get submitted to SO.
Why do people assume that RTFM does not have a cost?

In fact, it's probably higher than searching SO through Google. This is why I'm hugely in favor of even basic questions getting answers on SO.

Agreed - Especially when I'm working on some technology where I don't need/want to learn it completely and just can't spare the time, but just need to know a small bit of information to fix some legacy item, or something similar. SO is invaluable there - but I do hate when I'm "that guy".
very well put. Both obscure and implicit/obvious information can be very hard to find by just reading the manual.

(Aside from above) I love Python. I only know enough to get by though. I have this program that runs for a really long time, storing the results of each iteration in a dict. These results are complex python objects, and are meant to be processed later on.

Naturally, I tried pickling them. As the file grew, Pickle quickly became cumbersome. It was a bad idea to read and write something that big every iteration. I started wondering if there was some way to write pickle objects incrementally. Then googled it, and an answer from SO led me to the 'shelve' module. It does exactly that, pickling objects incrementally. Its part of Python's standard library. But it didn't turn up on the first page of google's results. It is described in the docs as a 'persistent, dictionary-like object'. Well, if not for SO, I would have been stuck with the wrong set of keywords to search with. So, my point is, even if things ARE in the manual, it takes some effort finding it. And SO does an excellent job of leading you on to the right places in the manual/reference rather than just looking down upon you for not grokking the entire manual.

> Well, if not for SO, I would have been stuck with the wrong set of keywords to search with.

This is precisely the sort of bootstrap problem good tutorials are meant to help you avoid. Learning out of a book is not as satisfying as grabbing an interpreter and some example code and just hacking away, but this is precisely a case where the by-the-book method can save you a lot of time and frustration later on.

Another example of a problem tutorials solve is not knowing what 'tasteful' means in a given language. If you don't know what the language culture considers good taste, you'll beat your head against a wall trying to solve problems tasteful developers don't even have, because you're cutting against the grain.

(Yes, yes, a Real Programmer can write FORTRAN-IV in any language.)

Way higher. Technical documentation is only in rare cases easy to read, whereas SO answers are specifically incentivized to be easily accessible. And any comparison assumes that you can get instantly to the right page of the FM by making a web search, which is far from reality in most cases.
I've tried out many different programming languages in an effort to be able to "read" any language that comes my way (as a security researcher, I've noticed malware authors tend not to write in enterprise Java). The only language I can think of off the top of my head where the manual is the only thing you really need is Lua. I don't know if it's just because it's so tiny or because it's a well-written manual (or both), but it's lucky that this is the case because finding Lua code examples isn't exactly easy.

Many other languages I've come across have oddities that pretty much require asking someone who already knows the answer.

True but I think people often assume, mistakenly, that SO will have a lower cost than RTFM. A great example is Postgres authentication, there are hundreds if not thousands of questions on this topic on SO, almost all of which would be answered by reading the very concise, very accessible section of the Postgres manual.

Not suggesting there's anything wrong with using SO for this but that the cost of reading the manual for these purposes would actually be far lower.

RTFM definitely does have a cost, and like you say being able to find the simple questions answered on SO and the rest of the family is very useful to a great many people.

My problem is the duplication of those simple questions: people asking the absolute basics having not bothered to try Google or the site's own search function. They know the right keywords, they've got them in their question, and they'd learn more by looking through the existing answers than by asking a very specific question themselves.

Some people aren't there to learn: they are there to get someone to do their homework/job for them. But many genuinely are and I'd like to help those people where I can, especially those who have obviously given some thought beforehand and articulated their attempt at understanding thus far (it is easier to be helpful in these cases: you often don't have to explain everything in detail you can say "it looks like you've got it almost right, the niggly little thing that you are missing in your understanding is..."). And sometimes even the obvious beginners will actually ask a really interesting question.

From the other side: answers that simple say "Do X" but ofer no further word of explanation are worse than a bad question. A good answer will help the questioner and other passers-by learn from the question+answer, an overly terse answer is just handing the man a fish (and not necessarily the right fish). Luckily there are enough good people contributing on most of the stackexchange sites that the bad answers are outnumbered and the voting system works well enough that the good ones float to the top.

Your power as a user of software is increased by learning how to read documentation efficiently, however.

It's even further increased by being able to read the source, but that's even more costly.

I just spent a month getting back into Android development with writing an app. I can't express how many times I knew the answer would be easily findable in the docs but I also knew that by searching on Google it would give me a SO link where it takes about 5-10s to have the answer. While looking it up and reading the SDK documentation would more likely lead to 60-90s with presenting me less information and alternatives.
StackOverflow is just the manual in an easily searchable form. Lots of times I'm not even sure of what to even look up and that's when I post to StackOverflow. The next time someone else tries to do something similar, Google will have found it in StackOverflow and it will be easily found.
Easily searchable and constantly updated form.

And free of vendor BS, too.

Also has only the information people are actually interested in.
Your comment has been closed because it has been deemed to be unsuitable for our question and answer format.

And you're a bad person for asking!

Not everyone learns from manuals though.
> The number of questions on SO that can be answered by RTFM is quite remarkable. I think that points to a lot of the documentation being just fine.

Actually that must point to the opposite: that manuals are not information resources that are easily consumable, and hence a new service (Stackoverflow and co.) needed to be developed to "disrupt" this.

The more questions the better IMO, it's just more of a wealth of data to search through and serve to people.

I wish there were better ways of asking more general questions that one just has no idea though (e.g. "How can I send SMS messages from a web site?" Random example of which I have no clue). These are more open-ended, but provide a ton of value. At the very least, they make googling for such things that much easier and direct.

If you're stringing together a Unix pipe command, TFM might be for, say, awk. Would you rather stop what you're thinking about for 10 minutes and shave that yak, or get a quick answer and move on?
There's another cost to consider: if you do this more than infrequently, learning the tools will save more time than consulting SO repeatedly — particularly if you end up adding and debugging extra steps. Not a big deal for something you're running once but I've seen people running carefully constructed gargantuan shell pipelines multiple times a day because it was "too hard" to learn how to do it all in a single awk / perl step
Agreed. But there are yaks you shave but once.
The more information is available in the documentation, the more you can benefit from somebody pointing you to the right information for your question. So I think that if software vendors were to document even more, you would need something like stack overflow even more.

And then there's also the problem of cross-technology questions, where you have a question of combining multiple technologies. These kind of questions are usually a bad fit for documentation.

> The number of questions on SO that can be answered by RTFM is quite remarkable.

Every language needs two manuals: A reference text, to teach you what is possible, and a tutorial, to teach you what is tasteful. You should expect people to read the tutorial, but expecting everyone to inhale reference material is a bit much.

(Later, there should be a third book: An anti-tutorial, laying out anti-patterns, or things you shouldn't be doing but that people tend to do anyway, and how to solve the problem the right way, with pointers to other tools if necessary.)

> If there was no StackOverflow the vendors would have to do better.

Documentation quality had been declining for many years before SO -- I think its more accurate to say that if vendors were doing better, there would be no (or less interest in) StackOverflow than the other way around.

Although the problem I've been finding recently with SO vs Apple docs (mainly since switching from developing sdks to apps) is a lot of the higher level stuff seems to get changed more frequently, so a lot of SO answers are out of date.

Edit: Somehow this reply ended up with a different parent than I intended...

I find the opposite with iOS/Apple programming. Often I'll be looking for something on Stack Overflow only to find the true answer lurking somewhere in one of Apple's guides or example apps lol. But if there's a Stack Overflow answer, it's often exactly what I was looking for, and that can't be undervalued!
True, iOS docs are really good compared to Android docs.
> Much of the money saved has gone to vendors.

That's not a contradiction to the claim that wealth has been created. Of course it has to go somewhere.

I know programmers at microsoft who use SO as an intern.

They just post questions about strange windows problems they can't work around. Somebody on SO will respond with a 1,000 word essay with 500 lines of code about it within a day, thus solving their problem with no employee time "wasted" by thinking or researching or paying for anything additional resources.

Ha, that's me. I'll post questions on how to write code, not just problems I can't work around. Then I go off and slack off, and wait until someone answers it. My version of "I'm compiling".
The microsoft thing is a little ethically strange but yeah i feel you on this.... if these try-hards wanna do your work for you just to get a "+10" may as well give them the privilege of "building their digital resume" while you read about something more interesting.

Programmer culture involves too much self-glorification & SO embraces that in the hugest way. If the discussions were more interesting it would probably worth more attention but usually it's just some know-it-all quoting docs they just Googled for so they can lock down the question / points. I'm not sure I'd ever want to hire a SO mod...

Google did this as well. It's extremely annoying. They're basically telling users to "Fuck off, we don't have time for you. Go ask your questions somewhere else."
When I first started doing Android development in late 2009 the API documentation quickly brought back memories of MSDN in the late 90's.
Which is where resources like Stack Overflow really shine.

I had someone add a link to MSDN to an answer I posted on SO a few years back. That topic didn't exist when I wrote the answer - and the subsystem being documented was already fairly old when I wrote about it.

Waiting around for months or years for vendors to get their documentation up to snuff is rarely an option; how many people have ended up reinventing the wheel, badly, because the only indication that it already existed was tucked into a bit of test code collecting dust somewhere?

Every time Apple releases a new version of iOS, I see questions regarding the new APIs being asked and answered on SO... Usually before the NDA is even lifted. "RTFM" is useless if the manual is incomplete or inaccessible until long after the fact.

Remember to take into account that doing something similar to SO but scoped more narrowly could actually hurt the help/answer community through fragmentation more than help it.
dead on with the cost of wasted time through gamification. And many questions on SO can be answered with ~10 mins of extra thought. It's a good reference though, as someone mentioned. Makes a manual searchable, basically, with a bit of layman explanation.

I get bitter though because any time I post a question that actually requires thought (can't be answered by checking an API) it ends up getting downvoted because you well... actually have to read a paragraph to understand it, I assume. That site has an uncanny ability to trash anything of value so a lot of the time I spend on it I wish I just spent reading programming theory instead of gleaning random bits of knowledge. I guess its enlightening though to see the level of developers & tech engagement in the different communities. It lets you see how active the community is and what level of quality the devs are, basically. (So... more questions doesn't necessarily mean better community...)

& o god lets not even get into the amount of wasted time spent wanting to claw your eyes out when someone (especially mods) say some horribly arrogant thing responding to some imaginary version of your question (i guess they read 2 or 3 words from each sentence?). or they point out some semantic reason why theoretically they're right even though in practice they're wrong and the theory doesn't actually support their argument, it's just agnostic... chills

> A lot of time has been spent by developers trying to get points. There is a cost to that.

Agreed, however one answer will help many developers, which should more than offset the initial effort

> The site has enabled software vendors to slack off on their documentation.

Documentation has not deteriorated, in my opinion. In fact, a point could be made that it is now much easier for small vendors to have outstanding developer support through stack overflow. A lot of open source project use it as the main support line.

> It would be interesting to know what the global number for reputation points is. There may be a correlation to money saved.

It is probably correlated to the time spent on the site, but the money saved is certainly not related, as users don't gain any reputation by reading answers or simply browsing the site.

From an econometric perspective evaluating these kinds of things is fun. I would guess that any productivity gains would be concentrated in the most difficult-to-answer questions, that you can otherwise spend hours / days trying to debug or understand. "20 hours for 5% of questions" is probably a more accurate characterization, although it would work out the same.
(comment deleted)
It is the internet and www in general that enables people to be connected and share ideas. There's no reason to credit specific sites like Facebook or eBay with connecting people, because someone else would have done it (possibly better) if they had not.
It is language and written language that enables people to be connected and share ideas. There's no reason to credit specific networks like www or the internet with connecting people, because someone else would have done it (possibly better) if they had not.
People credit facebook with connection people, when AOL did the same thing 10 years ago and someone else will be providing software for that in 10 years. People credit stack overflow with programmers answering each others questions, while Usenet did that 10 years ago and someone else will be helping with that 10 years from now.

Meanwhile, language has been around for thousands of years and is not quite comparable.

I think there's plenty of credit to go around. Stack Overflow's fundamental decisions (gamification, open content, canonicity, searchability) were very significant in releasing valuable knowledge from the arcane vaults of obscure forums and mailing lists, not to mention creating a reliable(-ish) place to go for new questions. The project also represents an interesting template for community curation (which was begun well before launch), that can be learned from by other projects and startups.

Obviously, someone will always build a better mousetrap eventually. They still deserve credit for actually doing it.

They deserve credit for doing what they did, but it is for doing what they did well, and not what some people confuse that with, which is making what people do on their site possible.
More likely it had merely promoted the quick and easy pop culture, where people no longer take the time of reading a book. After all you can just use google and look up your next short fix.
Oh I hear you! I can't say how much I regret all the time spent in the 700-800 pages of these Wrox or Addison-Wesley books trying to find that one line fix. These were the good old days!
Every Wrox book I've come across has been terrible. If I wanted to read raw documentation I'd do that, when I spend hard money on a technical book I want to benefit from some practical expertise and I don't want an infodump of reference info that's already out of date by publication date.
I think stackoverflow is more than just sum of it parts. Solutions presented there are not just provided by experts, they are reviewed by experts, and if someone has a better solution, it has a really high chance to boil to the top. Portion of experts will recognize that and adopt superior solution. This will keep driving code quality and standards of participants up.

Or at least so my reasoning goes. So to answer the question, I believe it had done much more than that - stackoverflow drove people to improve their technical knowledge, and that is priceless.

I feel like StackOverflow is a blade that cuts both ways. I find it's most useful for troubleshooting really cryptic/obscure error messages that I would undoubtably blow through huge amounts of time trying to solve on my own; those are the type of problems I'm not sure I would ever get through without help from wizardly members of community.

But for other answers, to the kind of lazy questions that save me the momentary hassle of consulting the docs, it's also kept me from the serendipitous learning that should happen in that process. Since knowledge compounds and makes it easier to learn other things later, overall I'd say the "lazy questions" on SO definitely have a significant learning opportunity cost.

Will it be a net productivity gain over my lifetime, including learning opportunity cost? Probably, but only because of those insane bugs I'd never solve on my own.

Edit to clarify: I'm not the one asking the "lazy questions" without looking around. But these SO results often rank higher than official docs for my google queries.

StackOverflow has been the opposite for me. I am someone who reads the man pages and does a lot of experimentation before turning to a Q&A site, I fully document what happened, the expected result, and the deviations between the two, and my hypotheses on why it happened, then post.

As a result something like 85% of my questions go unanswered or are eventually answered by myself. I have stopped answering my own questions on SO because some of the questions I ask and do legwork on I feel I should be paid for since it's shitty lack of documentation from the vendors, so screw them.

Exactly. If you have complex question (the actual problem) it will be unanswered or downvoted to oblivion. That is logical because inexperienced engineers don't know what they don't know and experienced ones will be wisely silent. And the worst thing is that some answers are wrong but since they are upvoted so they seem "right" (the joke is that all javascript questions are answered with "use jQuery").

So in short: if you are novice engineer (or novice in certain field) then StackOverflow might help. If you are experienced engineer, stackoverflow is useless.

Does John Carmack count as experienced? Because he is the guy who made the claim we're talking about.
tlogan was not saying SO was not valuable, he specifically said that it did not provide much value for experienced programmers. SO can still provide value to the masses of less experienced programmers out there and be extremely valuable.

In my experience I have found this to be true. When first starting out stackoverflow was crucial to my learning process, now it seems I've answered all of my own questions the last year or so. And I wouldn't even claim to be extremely experienced. Thus, SO has certainly become significantly less valuable to me, but I would have never gotten this far without SO.

I know. My point was that the fact that John Carmack was the one who said this suggests that he still finds it useful for himself, even though he is an experienced programmer. That is not conclusive proof, of course, just something to think about.

My take is that experience only lowers the value of SO for the particular platform(s) you have experience in. I've found SO very valuable in the last couple of years even though I'm (in general) not a newbie anymore, because I've had to build software for many different platforms like ruby, mac cocoa, ios cocoa, and windows (C#/WPF and C++).

Nobody is expert in all fields.

A more constructive way to think about StackOverflow is you give in those areas where you know more and take where you know less.

> I am someone who reads the man pages and does a lot of experimentation before turning to a Q&A site

I feel similarly. I'm uncomfortable asking for help on stackoverflow, a mailing list or IRC if I haven't tried everything I could think of to work something out. I always have this[1] in mind when I do end up writing a question. I almost think it should be required reading.

[1]: http://www.catb.org/~esr/faqs/smart-questions.html

How can £45k per annum equal £12.5 per hour, what am I not getting? Is he assuming average 69 hour work week?
4500/360/10=12.5

No weekends, no vacations, and 2 hour daily unpaid overtime. :)

Probably, back of the envelop calculation, with a lot of rounding in the parameters.

Yeah, it is very rough:

a) 45k has not been the average for the years leading up to 2013.

b) 45k is pre tax, 33k is post tax.

c) I suspect that SO is used more frequently by people on the lower rungs of the pay scale.

d) The average for "developer" (which is the biggest group in the stats) is 40k.

As a side note, wow 45k is a massive number.

http://www.itjobswatch.co.uk/jobs/uk/developer.do

It's simple. For every minute a developer spends writing an answer, many people read the answer. So if the best answers are voted to the top, and there is little duplication, the site has saved a lot of programmers time.
Indeed, what a simple way to express powerful sentiment!
SO is a wonderful site, I remember the days before SO when I used to get annoyed by sites like Experts Exchange that required a paid membership. Though, I agree SO has saved a lot of time with a great source for common questions and best answers, great answers. But, I also have to say that for many developers, specially in their early days, it provides a lazy alternative to learning.

A lazy debugging practice is to find a question that generally has a subject line almost exactly the same as the error message and pick the first answer, without even trying to understand it. I see the difference personally when I worked on .Net/Java and when I was working on a applet for Gnome. The latter is not very popular and so I have to resort to documentation, IRC etc. I might spend more time initially but I end up reading the documentation, develop a better understanding and even create my own snippets which in turn save me time eventually. To summarize, SO saves time but one might tend to leech on to it instead of learning. I guess some metric of how many times a person revisits the same question might be a good indicator of this.

Not to mention how many times I have seen a comment like, is this homework; show me what you tried, instead of an answer.

What's wrong about the "is this homework" comment? Why would you (this is a generic "you") expect someone else to answer your question _for free_ if you haven't bothered to actually try solving it yourself? Where is the courtesy and etiquette in that?

I think SO/SE's aggressive discouragement of leechers and high question-closing rate makes their website better for everyone. Except the leechers and "help vampires", that is.

Wikipedia, Youtube, Google, StackExchange, should all get world peace awards.
Foodstamps and cat videos are the new bread and circuses
A donation should suffice (they are running a campaign now, BTW) :)
StackOverflow is good is some ways, but if you have a solid base knowledge of programming you shouldn't really be looking there all the time in the first place. It's a great website but it's also definitely made coders lazier.
Did you notice it was John Carmack who said what's in the title, right? Has StackOverflow made John Carmack lazier?

Anyway, in his twitter TL he has an answer for a quip similar to yours:

> "people probably said similar things about books..."

Yup. Reading books has made people lazier, because if they had knowledge about [topic] they shouldn't be reading about it anyway.

I found it hugely useful in the .Net world. With closed source, obscure errors cannot be as easily tracked down, especially when they are not covered by MSDN or a prominent blog. A couple years after switching to an open source stack, I barely use it at all, and when I do finally hit a wall and ask a question, I get an answer ~20% of the time (compared to 90%+ when I was in .Net). I am a huge fan of SO, but good docs and readable code go a lot further.
It did improve programmer productivity, but Hacker News has sort of evened things out by wrecking it again through an advanced form of continuous nerd-sniping.
There is probably a good number of visits from people not "at work" per se, like students and hobbyists working on things in their free time.
Two words you youngsters probably don't remember - Expert Sexchange..
What about it? I very much doubt that Experts Exchange saved billions of dollars in programmer productivity. I was always annoyed at landing there from searches before Stack Overflow existed. And it is/was much harder to use than Stack Overflow is today.
I am 100% sure that SO makes my employees and me more productive. QAOP (Question and Answer Oriented Programming) boosts the productivity significantly.

But I think in the long term, when everybody incorporates the same QAOP skills all developers will compete at the same level and new productivity horizons will came.

> I am 100% sure

Your 100% certainty means nothing to me.

> makes my employees and me more productive.

A very strong claim.

> QAOP (Question and Answer Oriented Programming) boosts the productivity significantly.

First Google results don't even know what this is.

Listen, I actually think your claims have merit, but the way you present them is "crap, crap, mega crap". Please cite something we can take take to the manager or test or vet in some other way. Otherwise you comment is just "ME RIGHT. ME SELL YOU SOMETHING".

Has Hacker News cost billions of dollars in programmer productivity? :P
They have probably subtracted billions of dollars of value from the world in decreased programmer productivity. They probably level each other out.
I'm still waiting for someone to coin a term for when you google around for a problem and end up at your OWN answer on SO from a year or so earlier. This happens more often than I'd like to admit.

I'm incredibly thankful for the many, many hours that SO has saved me personally.

Actually, if your question is about an obscure enough topic, you'll get your own question within seconds on Google. It's a kind of loop - search on Google desperately without finding anything; turn to SO and ask a question. Since probably nobody will answer soon, in the meantime search more on Google... and you find your own question on top (and feel just a bit more desperate).
He said he ended up on his answer, therefore it's something he knew but forgot. Nonetheless your observation still holds, as the obscurity of the topic increases the chance of such coincidence both by the scarcity of content on the matter and because he is more likely to forget little used information
Stackoverflow is awesone and for me, it has saved me countless hours of thinking, even on non mainstream platforms like FPGA design. That said, I hope for one improvement. I would like to upload my code into a machine with a command line...and those who are on stackoveflow can with login, try their hands at it without having to ask me. This way, they will save time trying to reproduce my sandbox.
Don't hurt yourself trying to pat you on the back. The vast majority of those questions have already been answered by Google. Some people just like paying.

In other words, if you pay for something that you could get for free with just a bit more effort, how is that saving money?

Just FYI, if you are making $10 per hour programming in the US please Google "salary entry level <your job> <your nearest metro area>" and tell your boss what you find out.
I guess the best thing about stack overflow is how helpful the community is. They will help you with anything and even virtually shout on you if required. I guess it has made me the programmer that I am today. But I still have a journey ahead of me and that isn't gonna be without stack overflow.

I remember when I was using stack overflow for the first time, I asked a really silly question, and got my answer within 1 minute. I thanked that person for helping me with such a simple question, but his reply changed my thinking about the communities and why they help each other.

He just said : "no probs, someone did that for me too".

Now that this has made it to the frontpage of HN, I'm waiting for someone to write a post on the millions of dollars lost in productivity because of HN.