It's been years (8 years to be exact as of this writing) since I have been involved in various forums (such as forums.asp.net, codeasp.net/forums, aspsnippets.com/forums, msforums.ph, aspforums.net/forums, forums.xamarin.com and most recently the 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 since 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.
Problems are quite normal as human beings. Problems aren't only for our personal lives but also apply in programming 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). Problems are what makes us better and grow as a professional if you just know how to deal with it.
What this article is all about
This article outlines some tips on finding solutions to your programming problems and how to properly use the community forum.
How to find a 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 when you want to. So before starting a new thread in a forum, consider following these general rules:
- Use Google. If you are getting an error in the middle of your development or want to understand a specific technology then use Google first. The vast majority of questions posted to forums and newsgroups have already been asked and answered. You may save much time by searching. I find this works particularly well if you Google your error message or term that you would like to be familiar with.
- If you are working on a project with your team then try to ask your teammates about the issue that you are getting. One of them might have already encountered the same error you get and are 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 be sure to ask the right question and be sure to do #1 first before asking something in the team. Keep in mind that they also have 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 general question in forums. That can be a waste of much time.
- Make use of forums. If you have already tried #1-3 and still don't have a solution then that's the perfect time to start a new thread in a forum.
Finding your way in the forums
The very first step that you need to do is to find the appropriate technology forums. Whereas 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 article is intended to help you get the most out of the forums.
As with any online community, standard rules and guidelines should be followed. Whereas this article 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.
The following are the details, 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, don't post SQL Server question to an 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 posts and don't post the same question to a different forum section. This will help you easily manage your thread and focus only on 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. Also adding exclamation point “!” to your subject is a bit rude and nobody is interested with that 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 do. 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 mean sufficient to see the lines of codes that produced the error in the context. Not unless if needed, posting the entire source code or attaching the entire project is just a waste of time as most contributor has a limited time only and doesn't have time to figure out the entire code by themselves.
- Paste the actual code you are using, not a typo-ridden syntactic-rubbish "something that looks like it". How could someone help you with code that is not readable? Also be sure to always format your codes when posting it to make it readable. No one is interested in looking at code that is messed up.
- If you need to use an image as part of your post, be sure to preview it to be sure the link works.
- Specify which language you prefer, if that is 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 multiple questions since it can be very confusing to people reading it. Also answers on the thread will become mixed up and future readers will have a hard time finding the right solution that helps you. Instead create a separate topic for each of your questions.
- 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 will 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 readers that might stumble upon your thread and looking for the same solution can easily determine which post actually helps. Don't just abandon your thread when you get an answer. Note that forums are a community so please do your responsibility as an “asker” or “thread- starter”.
Forum Courtesy
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 many of these various 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.
Disclaimer
The opinions expressed in this article are just my own personal opinion and I hope that would at least guide developers finding solutions to their problems.