Getting Help

Getting help online is actually a bit of an acquired skill, so here’s some advice to get you started.


  • StackOverflow: StackOverflow (SO) is by far the most useful resource on the internet for programming-related problems, and it can be useful in two different ways:
    • Search for existing answers: People have asked LOTS of questions on SO, so if you have a problem, there’s a good chance you can find the answer there already. Always start with this.
    • Posting your question: This requires some skill (see below), but if the answer to your question can’t already be found online, this is often the best way to figure it out.
  • Mailing Lists: Most open source communities have a mailing list where you can send your questions. If your question is very specific to a library or tool, this is often the best place to go. Here are a few examples:
    • PyData: Great source for help with pandas and other data tools.
    • PyStatsmodels: Help with statsmodels package.
    • iGraph: Amazing help with iGraph issues.

Posting a Question

Few things are as amazing to me as the willingness of strangers to help one another out with their programming problems. To get the most out of your request for assistance, however, follow a few easy guidelines:

  • Show your work: People like to help people who are stuck, but hate spending time assisting someone with a problem they could have solved with google. So to get the best help, make sure to include in your request for help:
    • Description of things you’ve tried yourself
    • Links to other sites you’ve visited that seem like might help but don’t: People are often quick to say “hey, this has been asked elsewhere” and throw a link at you, so add links to the other sites you’ve check and some information about why those solutions don’t work.
  • If possible, include a reproducible example: Nothing will make it more likely you get help than if you can post a chunk of code (5-20 lines?) that someone else can copy and paste into Python to recreate the problem. This isn’t always possible of course, but really do try.
    • Taking your code and trying to whittle it down to a “minimal reproducible example” is also one of the best ways to find problems yourself, so often doing this will lead you to solving your problem before you even post!