Hacker News new | past | comments | ask | show | jobs | submit login

Does anyone have the same problem with SO that I do? I'm an experienced dev in some general / mature technologies, mainly the C-like languages (I know C# inside out) but essentially, nothing too specialised. Anytime I've gone on SO to try to contribute I find it hard to find questions to answer. It's either a race to answer a trivial question quickly, or an obscure - possibly badly worded or incomplete - question that can't be solved.

I therefore spend too much time F5-ing to find a new unanswered question which is time consuming in the extreme and not sustainable long term.

Is this just a phase to be worked through or do I need to continue dedicating large amounts of time? Or do I just suck and haven't yet taken the hint?




It's just a phase. Note that your answer doesn't need to be the first, or the only one (quick answers get more votes initially; good answers tend to get the most votes, eventually). For that matter, it's not even necessary to answer just the newest questions - I've received (and given) answers months after posting the question, and bubbled to the top amongst the older answers.


Great point. I just upvoted an answer to a git question I had and it dated back to 2009.


I absolutely have the same problem, and you do not really have to be an expert to encouter this.

Personally I do not find much appeal in taking part in this "race" you have mentioned - even if the opportunity cost is a big fat number of upvotes. On the other hand, I often don't feel like cooking up an elaborate answer in relatively obscure topic only to receive few upvotes. Both cases seem to demonstrate a downside of SO's reputation system, for it might rather easily become a purpose in itself, sucking up the pleasure of sharing knowledge with others.


I have never had that problem, and in general I don't think it's a real thing. IMO, this is the same sort of thinking that makes people say, "Oh, I had this business idea that I really liked, but I found out there was already a company doing what I wanted to do, so I went back to the drawing board."

There's nothing wrong with answering a question that already has answers if you feel like you still have something to add. Very often those first few rushed answers to a question are either wrong or confusing. Don't be one of those people. Just write an answer in your own time and it will get votes if it's any good. I've gone into questions where an answer is already accepted and highly upvoted, but I felt like the accepted answer was fundamentally on the wrong track, so I wrote my own and it got highly upvoted and accepted.


this is my impression of SO too. If you want to gain reputation the most viable approach is to keep hitting F5 and answer simple questions before someone else and therefore it has become a race instead of a display of knowledge if it's reputation that you are hunting for. I believe it wasn't as hectic about one and a half year ago when I joined.


Except that the simple-question askers tend to be unconcerned with their acceptance rate.


overall you get a much larger percentage of your reputation from upvotes rather than having your answers accepted.


I don't care about reputation, just that askers get a much larger portion of my knowledge when they demonstrate that they engage in their community rather than just take, take, take.


I'm in the 25k-50k bracket, and I can definitely say that a GOOD chunk of that rep came from happening to be the first to answer a trivial question. The reasoning is that other editors also jump on it, see that you've already answered it, and upvote you instead of answering themselves.

But that's why I don't use reputation as a measure of my experience on StackOverflow. It's all about the great answers that you put a lot of time into researching and that you know will stand as a resource for future visitors. And by the way: these kinds of answers give you a lot more money for jam (http://data.stackexchange.com/stackoverflow/query/8116/my-mo...) than the quick ones that never again get visited after an hour.


If I have the answer, but it will take some time to type it out, I will hit save after answering part of it (not even a complete part - I hit save after the first line or two).

Then I'll edit it to be a complete answer. (Release early, release often :) By doing this other answers see that someone else is working on it and won't also answer the question (this way they don't cost me points, but it also prevents them from wasting their time, so it helps both of us).

This is only necessary in the more popular question categories.

Also, once you have enough reputation the interface becomes faster and it's easier to race the answers.

That said, I got a bit tired of the race, and semi-retired.


First of all, you have to ask yourself how important is this. Is it important for you to get a lot of reputation? Or is it just important to help people out? There are a lot of things that you can do that help people out that don't gain you a lot of reputation.

For example, those badly worded and incomplete questions. You will almost never get much rep from answering those; but you can help that person out a lot, by providing an answer that describes how to formulate their question better, asks them for the extra information they need, shows them how to provide a minimal example of the problem at hand. Then as they edit their question to post this extra information, you can try and use that to flesh out your answer, until you have answered their question for them. By the end, you will probably only get one or two upvotes and an accepted answer (at best, sometimes they just give up), but you will have helped explain to them how better to ask questions, and how better to solve the problem on their own.

Beyond that, sometimes you just have to answer questions quickly and get lucky. I spent some time "playing" StackOverflow like an MMO, and learned some tricks for getting rep (while still doing a good job of answering peoples questions). To do well on questions on popular tags, find ones with no answers yet (or only one or two answers) that you can answer. If it can be answered in a sentence, do so. Then edit your answer. Flesh it out. Provide links to the documentation. Write a sample program demonstrating how it works.

That way, you got in quick with the one-sentence answer. If that is what they need, they may accept it and you're done. You may also get early upvotes. The edit, to have a more in-depth answer, will make your answer a lot more useful than all of the other quick and dirty answers. So if they needed something more in-depth, they will appreciate the extra information. People always appreciate links to docs, and short and sweet example code. Some people appreciate an answer that expands a little bit, describes more generally how something works to put the answer in context and allow them to figure that out in general.

Here's an example of that strategy at work: http://stackoverflow.com/posts/793867/revisions . In fact, I believe there was another edit that's not shown (if you do an edit within a certain window, it gets merged into the last edit). I think that I just started out with the first two lines; the most basic answer. I then expanded a little bit, to cover some other possible cases (as I couldn't tell precisely what they needed from the question). Then I Googled for the documentation, and provided links to it, to help them find other information they might want to know.

Another strategy is to find a hard problem, and spend the time and effort running it to ground. These problems don't come up often, but when they do, they can be really good ones to solve. They can substantially help people out. They are usually much more interesting, and you can learn new things while trying to solve them.

For example, here's one where I didn't know the answer when I first saw the question: http://stackoverflow.com/questions/1990464/efficiency-of-pur... . In fact, I saw the question, thought it was interesting, and wanted to find out the answer; several people had "answered" it, but their logic was so bad that I couldn't let those answers stand (there are a number of answers on that question that have since been deleted by their authors, which you can only see if you have a high reputation, but the answer that's at -15 should give you an idea of the quality of many of the earlier answers). Luckily, I had a bood that I knew would probably answer the question, or give me the starting point. I pulled out that book, found the appropriate references, Googled them, found the papers in question, skimmed through those, and summarized it all. It took me a half an hour to an hour to do so, and then I read the papers in more detail and posted a substantial edit that went into a lot more detail a few hours later. That took some serious effort, but it has been one of my highest voted answers.

So, in summary, doing a good job on the writeup can be important. Provide context, links, references, sample code. Quick throwaway answers will sometimes answer the question, but people like a little extra information (as long as it isn't tl;dr like this comment). If you can't solve easy problems quickly enough, either solve more obscure problems, solve harder problems, or just do a better job answering those easy problems. Don't worry too much about your reputation; it can be a serious time sink to get a lot of reputation. I have spent time climbing the reputation ladder as fast as possible, and I spent way too much time doing so.


Another good way to get reputation is to ask good questions.


It's not just you :D

The way I see it working:

1. Go to homepage.

2. Find unanswered questions that you can answer and answer them. In the process, elaborate with the OP, to help as much as you can.

3. Go to 1 until you become efficient enough (maybe 3 mins max), to be the first to answer a detailed answer (Usually the easy questions get a lot of hots, since more people are trying to answer those, so try to be the first to answer).

4. Hope that the question police won't close the question as not real question (usually noobs at programming or just on specified tags AND super-noobs at English can not even describe / explain what the problem is, but you can figure it out for them). I spot a problem here: The whole deal is to help people with their problems. Even if their problems include poor English / programming skills. You can not reject them by saying: "Hey! Learn English and then we'll tell you the solution." or "Hey! Come back in 3 months, when you'll be a better coder, so that you can explain better what you need. Then we'll tell you the solution.". I think some moderators stick so much to the rules, that forget the original plan of helping the fellow coders. 5. Go to 1 for countless hours (currently on popular tags, such as PHP, Javascript, jQuery, HTML I calculated that I can increase my rep about 10 per hour, near-fail rate, right?). You have nothing to lose. Answering makes you better. If you get a few downvotes, then you'll start check and double check before answering.

And a few rules of the thumb:

FIFO: Usually the OP gives the correct answer to the person that answers first (As it should be).

Reputation goes to reputation: When there are 4 or 5 similar answers, the persons with the higher rep get the most upvotes (reasonable, but probably unfair).

Use an example: Even if the question goes like "should I use A or B to do this?" and you know that A is the way to go, you don't just answer "Use A". You will get downvoted. But if you answer "Use A. I would do it like this: ...", then you might get a few upvotes (insane for me, but considering that you are helping to build a knowledge base, I'd say tolerable).

Learn stuff: the more you know, the more questions you may answer (now we're getting somewhere).

Spend your valuable free time on answering questions: It is a very nice feeling to give back to a community that you got from (and usually you get multiple times what you give). And it is a very nice feeling to support a worldwide knowledge base for your profession. But, since you compete with other professionals, you have to devote a lot of time to stand out, not by being the best, but by being the best on answering questions (not the same and kind of lame).

Stop thinking "Hey!? Did I just work for free the past x hours?": You just helped someone else! And in the future more people will benefit from your answer! (some things are just priceless :D).


As to your fourth point: if you're able to figure out what a poorly written question is asking and post a good answer, it's probably worth taking a couple of minutes to edit the question to improve its clarity.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: