Share via


Microsoft Forums: Best practices for Solving Programming Problems

Back to top

Introduction

The majority of the TechNet Ninjas here are involved in various technical community forums. We've probably helped resolve hundreds or maybe thousands of questions from simple to very complex issues. Being in the community is awesome as we get the chance to learn and help fellow developers around the world. Most of the time, we’ve encountered questions that are unclear, duplicate questions and even more, questions that are very general in nature. This article is meant to provide some guidance for those developers, most especially to the freshers who are looking for a solution to their problems.

Problems are pretty much normal as human beings. Problems aren’t only for our personal lives but also apply in the 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.

Back to top

Purpose

This article outlines some tips on finding solutions to your programming problems, how to properly use the community forums and how to contribute as an answerer to the forums.

Back to top

How to Find a Solution to a Problem

When we encounter programming issues and errors, the first thing that most developers might think is “forums”.

Most of us 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 forums, consider following these general best practices.

Know the tools

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 on the internet when your page breaks. For example, if you are on the .NET stack and used Visual Studio as your development tools, you can take advantage of the debugging features that it offers. See: Debugging in Visual Studio

Search first

If you are getting an error in the middle of your development that you are not familiar with or wanted to know a specific technology. The vast majority of questions posted to forums and newsgroups have already been asked and answered. You may save a lot of time by searching. We find this works particularly well if you Google your error message or term that you would like to know about.

Ask your peers

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 may be able to help you. This can save you lots of time instead of waiting for an answer in the forums and finding solutions on 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 work to do.

RTFM

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.

 

Back to top

Find the appropriate forum

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.

 

Back to top

Down to the “meat”

Please find an overview of the suggestions here: Forums: How to get the maximum return on your forum question?

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.

Specific forum

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

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 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 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 broken". 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.

We'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.

Relevant info

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 contributors have a limited time only and don'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 in looking at code that is messed up.

Image

If you need to use an image as part of your post, be sure to preview it to make sure the link works.

Coding Language

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.

One question at a time

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 questions.

Before you submit

Read what you have written before submitting your post.

Author language

If English isn't 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.

Keep cool

Don’t get frustrated right away when you don't get a response from members in the forums. You should keep in mind that most members are just volunteers (unpaid members) just like you and us. So you can't really expect to get a prompt response especially if your query is more complex and unfamiliar that would need more analysis and time. Volunteers like us also work for a living. So just be patient :)

Follow up

Finally, when you get the answer to your question, be sure to mark the post(s) that helps you as the answer or give an up-vote. This way, future reader that might stumble on your thread 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 communities, so please do your responsibility as an “asker” or “thread- starter”.

Back to top

More tips to get better answers

See: a href="https://social.technet.microsoft.com/wiki/contents/articles/36158.forums-how-to-get-the-maximum-return-on-your-forum-question.aspx"> Forums: How to get the maximum return on your forum question?

Back to top

Contributing to Forums

Technical forums are a very important part in the community as it is where you can ask for help and at the same time, share your solution to a particular problem. To tell you the truth, the developer community helped a lot of us to become a better developer. For self-taught guys out there. You probably remember when you got your first job; had been assigned to develop solutions using .NET, and it scared you because you didn't have any experience in the framework and the worst was not being really familiar about the web and how stuff works in a stateless world. You probably struggled a lot during those times and with the help of the technical community, you were able to understand the basics and learned something each day. In turn, you might want to give back to the community by helping other developers solve issues.

If you think it's about time for you to transition from an "asker" to an "answerer", or if you wish to give back to the community by contributing to the forums, then here are a few tips for you.

The “answerers” play a vital role in the forums as these folks are the ones providing answers to your issues or at least guiding you to the right direction.

If you contribute as an “answerer”, then these are some of the tips that we would like to point out.

Chasing Points

Don’t try to answer if you are after points. We know points help motivate members in participating more but it can also lead to the wrong way. Remember that when you help someone, you should forget about points; instead, focus on giving a quality answer to a question. The real reward for answering is that you resolved the issues and the "thank you" response that you get from the asker.

Give quality answers.

It’s okay to post a link as a reference for as long as you support it and it’s relevant to the question. If your answer requires a sample code, then feel free to give a code snippet with an explanation to your code.

Be kind to others when replying and respect each other.

If you see someone who’s rude and disrespectful, then feel free to notify the site admin or moderators and let them handles that.

Read the question carefully before giving a reply.

We often see people who are just giving links and wrong information; this is because they will just read the question title and not the details of the question. This can result in flooding the thread with meaningless replies and helpful replies will not be noticed.

Don’t post a duplicate reply a.k.a "Parroting".

We've seen cases that someone will just copy the answer of the previous answerer's solution. This doesn’t give any value to the thread and to the “asker.”

Don’t stop contributing to forums.

Being involved in forums can really help you grow as a professional developer. You will learn many things over time and test your skills in solving real-world problems. Aside from that, you will also meet a lot of people virtually and gain respect.

Back to top

Forum Courtesy

See: Forum OP Tips: How to Ask a Question Efficiently in a TechNet/MSDN Forum

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 connect 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.

 

Back to top

Other References

Back to top