It’s been years (8 years to be exact as of this writing) since I am involved in various forums such as forums.asp.net, codeasp.net/forums, aspforums.net/forums, forums.xamarin.com and most recently at C# corner forums. I’ve helped resolved hundreds or maybe thousands of questions from simple to very complex issues. Being in the community is awesome as I get the chance to learn and help fellow developers around the world. Most of the time I’ve encountered questions that are not very clear, duplicate questions and even more questions that are very general in nature. So I thought I would share some of my thoughts on the topic and provide some guidance for those developers looking for a solution to their problems.
Image courtesy of Daily Mail
Problems are pretty much normal as human beings. Problems aren’t only for our personal lives but also applies in programming world or any professions you have. If you are a student or a professional programmer it is normal to deal with problems every single day. If you can’t accept the fact that problems exist then you better quit (just kidding :) ). Problem is what makes us better and grow as a professional, if you just know how to deal with it.
So what this article is all about?
This post outlines some tips on finding solutions to your programming problems and how to properly use the community forum.
How to find solution to a problem?
The first thing that most people might think is “forums”. We all know that community forums are the best place to talk about problems but that doesn’t mean that you abuse it. Abuse? Yes. Forums aren’t your personal diary that you just simply write something to it when you want to. So before starting a new thread in forums, consider to follow these general rules:
Learn how to use the debugging tools to figure out what’s going on with your code and why you are getting the error. In most cases debugging saves you a lot of time rather than finding a solution right away in the internet when your page breaks.
Use Google. If you are getting error in the middle of your development that you are not familiar with or wanted to know a specific technology. The vast majority of question posted to forums and newsgroups have already been asked and answered. You may save a lot of time by searching. I find this works particularly well if you Google your error message or term that you would like to know about.
If you are working on a project with your team then try to ask your team mates about the issue that you are getting. One of them might already encountered the same error you get and able to help you. This can save you lots of time instead of waiting for an answer in the forums and finding solutions in the internet. Asking something is the key to learning and it doesn’t make you dumb. Just make sure to ask the right question and make sure to do #1 and 2 first before asking something to your team. Keep in mind that they also have a work to do.
If your question is general in nature like “How do I edit, update and delete in GridView?” or “What is MVC?” then please try to read some tutorial first. Most likely people will just give you links to tutorials if you post the same in forums. That can be a waste a lot of time.
Make use of forums. If you already tried #1-4 and still didn’t get any solution then that’s the perfect time to start a new thread in a forum.
Finding your way in the forums
Credits: I took few tips from Mike on his post here about how to get your forum question answered. And I would like to reiterate those points here.
The very first step that you need to do is to find the appropriate technology forums. While some online communities provide a variety of forum sections wherein you can post general questions, it is still best to post your issue at dedicated forums. This will give you a better chance of getting answers. Take a look at this FAQ about the Correct Forums to Post at.
Whether you're a new member to community forums or even if you've been there for a while, this post is intended to help you get the most out of the forums.
As with any online community, standard rules and guidelines should be followed. While this post doesn't represent a complete set of forum guidelines, it covers some of the more common issues/questions you might come across as you begin to participate.
Now down to the “meat”
Avoid thread-jacking. Thread-jacking is the practice of appending your question to an existing thread in a forum and reviving old and resolved threads. Adding your question to a current thread might be considered very rude. It's a bit like walking in on someone else's conversation and shouting "Hey, can you look at this?". If anyone answers your question, the thread is likely to get very confused and mixed up, and no one will be quite sure who is addressing which problem. So please create your own thread for your own issue.
Post your question to a more specific forum section. This means that don't post SQL Server question to ASP.NET Web Development forum section. It's not uncommon to be a bit overwhelmed at first by the number of individual forums in any online community site. Finding the correct forum to submit your post plays a very important role in ultimately receiving an answer to your question so go ahead and take a moment to look around and familiarize yourself with all that's available.
Avoid duplicate post and don’t post the same question to different forum section. This will help you easily manage your thread and focus only to a single thread. Remember: Always pick the most specific forum that relates to your question.
Provide a meaningful title to the post. "I have a problem! Help!!" is not meaningful. "URGENT!" suggests you are late with your homework and no one is interested in that. Also adding exclamation point “!” to your subject is a bit rude so be careful.
Make the title relevant to your problem. "GridView Problem" followed by a description of the failure to update a database will get the wrong people looking at your post.
Be specific. Don't just say your code "Doesn't work" or "is broke". Explain what you are trying to achieve. What steps did you take? What happened? What have you already tried to resolve the problem? Please note that you are looking for a solution and not giving details about your problem is just a big waste of time and 99% you will not get any answer.
Please state what you've tried so far to fix the problem. I've seen so many times where people reply to a post with suggestions, and the OP/TS replies with a "I've already tried that!!" That is a huge time-waster.
Show the relevant code and error message if appropriate. By relevant I meant sufficient to see the lines of codes that produced the error in the context. Not unless if needed, posting the whole source code or attaching the whole project is just a waste of time as most contributor has a limited time only and doesn't have time to figure out the whole code by themselves.
Paste the actual code you are using - not a typo-ridden syntactically-rubbish "something that looks like it". How could someone help you with codes that are not readable? Also make sure to always format your codes when posting it to make it readable. No one is interested on looking codes that are messed up.
If you need to use an image as part of your post, be sure to preview it to make sure the link works.
Specify which language you prefer, if not obvious from your code. Also state which database type and version you are using, if your question is database-related. Remember: Be specific.
Don’t mix your thread with different questions as it can be very confusing to people reading it. Also answers on the thread will get mixed up and future readers will be having a hard time finding the right solution that helps you. Instead create a separate topic for each of your question.
Read what you have written before submitting your post. If English is your first language, and you haven't taken the trouble to ensure that your post makes sense, no one is going to spend time trying to make sense of it for you.
Don’t apologize for being new to anything. Everyone was once.
Don’t get frustrated right away when you don't get response from members in the forums. You should keep in mind that most members are just volunteers (unpaid members) just like you and me. So you can't really expect to get a prompt response especially if your query is more complex and unfamiliar that would needs more analysis and time. Volunteers like you also work for a living. So just be patient :)
Finally, when you get the answer to your question be sure to mark the post(s) that helps you as the answer. This way future reader that might stumble in your thread and looking for the same solution can easily determine which post actually helps you. Don’t just abandon your thread when you got an answer. Note that forums are community so please do your responsibility as an “asker” or “thread- starter”.
With so many members and so many points of view, we cannot hope to always agree on what the right answer to a question might be. In fact, it is often these different opinions on a topic that ultimately connects a member's question to a truly helpful answer.
If you see a current topic for which you disagree with the opinions expressed in the existing posts, go ahead and post your opinion too. But please keep all posts polite, courteous and on-topic.
Some of the opinions expressed in this post are taken from Mike's post, the rest are just my own personal opinion and I hope that would at least guide developers finding solutions to their problems.