Before you read my piece, I would like to tell you why this is not a duplicate of my previous question, How can I improve my questions to regain the ability to ask questions on StackOverflow? That was asked as a frightened appeal to return to this great community - I was successful in that endeavour - but this is an appeal to understand how I can contribute to make this community better.

If you agree with my views, please click the reopen button. If not, pretend you do :)

Also, I am not currently banned. I feel that I am in a comfort zone, and am looking to increase my expertise in asking, and in answering, questions. This is a way for me to further understand my current issues, and build upon my strengths.


Several weeks ago, I was able to leave behind my question ban and have begun to improve based on your thoughtful suggestions. My question-asking effort has greatly increased, and my reputation has followed suit. Now I would like to take some time to reflect upon my current issues in order to continue this process.

With my level of programming (you guessed it, low) I have only a few main ways to contribute constructively on Stack Overflow - a site that I love dearly.

  1. Edit Questions/Answers

  2. Ask Questions

  3. Answer the occasional easy question (or my own)


Obviously, that is a short list (and #3 comes up once in a blue moon.) Last weekend, I went on an editing rampage, and - to my surprise - was suspended from doing so for a week, after it became obvious that my edits were trivial. I am still waiting for that period to be over.

  1. So, my first question is, how can I improve my editing skill. What should I edit, and more importantly, what should I not?

Asking Questions

Now, we come to my second way to contribute: Asking questions that are both relevant to myself and to the community. Personally, I think that my skill in this department has increased greatly - the ban gave myself a much needed shock - but I still think that I can improve, especially in deciphering inexplicable downvotes. One question especially is bugging me:

How to use the dir/s command in Python?

  1. What could I have done to avoid the downvotes?

  2. How can I make my questions relevant to others?

  3. How can I increase the clarity of my questions?


Now we come to the weakest link: my skill at answering questions. Since I am not experienced in this department, I have only a few basic queries:

  1. Is it better to have a long, thought out answer such as this, or a quick one such as this? Why?

  2. When answering, should I always test my code before-hand, or only if I am unsure? Is there any easy metric which I can use to deduce the answer?

Thank you guys so much for helping me out - and reading this long question! If you do decide to answer, you have the chance to win +150 rep. This question is also widely applicable to a large audience and will help the community at large.

I really appreciate all of the feedback. Lastly, don't hesitate to critique this post - that will also help me.

  • 3
    This is not a duplicate. I posted that to learn how to get out of the ban - this post was made to further understand my previous issues and become not a mediocre member of the community, but a rather good one. Mar 7 '13 at 12:19
  • 2
    Agree that the marked duplicate does not answer the question (or at least sub questions 1 and 3)
    – Rory
    Mar 7 '13 at 13:04
  • 1
    @Rory Thanks - I edited my question to explain the fact that these are not duplicates. I never knew that your own question could be a duplicate of another one of your own (sorry for the mouthful!) Mar 7 '13 at 13:06
  • I agree this is not a duplicate of the linked post. However, I am sure it's a duplicate of something else. Mar 7 '13 at 13:13
  • 2
    I see six questions above (bad form in itself), and I suspect that each of those six is already answered somewhere on meta, or the faq.
    – 410 gone
    Mar 7 '13 at 13:40
  • as long as we talk about lifting the ban, consider asking self "is it safer" instead of "is it better". From safety perspective, long (not exceedingly long) answers are less in danger of keep you banned by bringing DVes. That said, particular "short" example you used looks safe enough. I think it could be improved further if under your code in that self-answer you add a brief summary of what you have learned
    – gnat
    Mar 7 '13 at 13:41
  • There seems to be some confusion. I am unbanned, I am looking to create better questions. Mar 7 '13 at 14:40
  • 1
    Your bounty description links to this question as your "earlier question".
    – user200500
    Mar 12 '13 at 0:42

Instead of tackling your specific six questions (many of which are answered elsewhere), here are some things that I think will help overall.

Lurk more, post less.

When you're new to a community like SO, it's often a good idea to observe the members in action for a while before jumping into the fray yourself. Watching other people helps you to learn what kind of behavior is acceptable (or not), and it's an easy way to learn from the mistakes of others. For example, there's no end of questions asked by new users on the main site, and just reading the comments on each one will provide a lot of insight into what makes a good question. Look at as many as you can and you'll soon figure out why some are closed almost immediately and others pick up lots of up votes.

It's great that you want to help out by editing, but the gist of your question here is that you're trying to figure out what fits here and what doesn't. I think it's better to learn that before you start trying to improve other people's posts.

You don't need to ask questions to learn something.

Sometimes it seems almost like all the possible questions have already been asked. When you have a question about programming, search the site for similar questions. Despite being an experienced programmer, I have questions all the time. It's pretty rare that I actually get to ask one myself, though -- I can almost always find an answer among the existing questions.

A good strategy for problem solving in general is to try to pare your question down to a single, simple issue. Remove as many details as you can so that you have a clear, concise, answerable question instead of a tangle of specifics that limit the applicability of your question. A huge benefit of simplifying your question is that it vastly increases the odds that you'll find an existing answer without having to ask your own question. And if you do end up asking, you'll get more and better answers.

Learn by answering.

When you have time, try to contribute by answering other people's questions. Many questions are like puzzles that you can figure out, either by doing some research or by writing a bit of test code to determine the answer empirically. Answers should be sufficiently thorough that someone will be able to decide for themselves that your answer is correct, but it's good to avoid being long-winded or overly complex. It's a little like doing your math homework: you should show your work rather than just state an answer without evidence. Whenever possible, you should test your code, especially if your level of expertise is low -- it's an easy way to improve your answers and gain credibility, and from time to time it'll prevent you from embarrassing yourself with a wrong answer.

  • 1
    Thank you so much - this was exactly what I was looking for. Mar 12 '13 at 12:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .