Getting help#

Seeking for information online is necessary and helpful for programmers of any level. I would even argue that the best programmers are the ones who know how to efficiently find information online.

When encountering an issue, the first question you should ask yourself is: “am I the only person likely to be affected by this problem?”. The answer will be no in 99% of the cases. For these, here is a list of recommendations:

  • Stack Overflow is THE place for programming questions. Thanks to community based moderation rules, the good questions are more visible than bad ones, and good answers are rewarded. Take a tour of the site’s principles, and look for similar questions before asking your own one.

  • Learn to ask the right question to your search engine. Naming this the correct way (semantics) is one of the objectives of this lecture, and I hope that in the end you will not only write better code, you will also speak the programming language a little better.

If every other thing fails (i.e the remaining 1% of the cases), then:

  • Ask a friend

  • Ask your professor

  • Ask a question on Stack Overflow. Before doing so, read what a Minimal, Complete, and Verifiable Example is and try to stick to these recommendations.

  • If you think you discovered a bug, than report it to the library directly. Almost all the scientific python packages are hosted on GitHub: the “issues” tab is where to report bugs. Read the excellent Craft Minimal Bug Reports article from Matt Rocklin before doing so.