How to properly report your error, and get help as quickly as possible

During my time in the PyTorch Challenge there is one thing I noticed. Especially newbies in development struggle to properly report their errors, which will turn solving those errors into an long and exhausting task. And who’s fault it is? Well, no ones. When there is so much new to learn and experience, especially with such a complex topic like Machine Learning, then obviously one will get easily overwhelmed and has lot’s of questions. Since I earn my money as a maintenance developer, my day to day business consists of replicating and fixing bugs, and I want to share the little experience I have in order to make it easier for beginners to get some proper help on their errors.


1. Try to understand the error yourself

Pretty self explanatory, isn’t it? Well maybe not. We all encounter bugs and errors that will keep us thinking for hours, or even days until we are able to solve them. Even the most experienced developers. So how could someone completely new to the game even have a chance to solve any of these problems? Well, take a deep breath. You don’t necessarily have to solve those bugs yourself. But the more often you encounter them, look at them and learn from them the more you will be able to fix them by yourself in the future. And some are quite easy to spot, I’m sure! Let’s take the classic error “variable is undefined” error. What could it mean? Well, simply that said variable has not been defined yet!
Take some time and learn from the errors. It will help you in the future. :)


2. Make use of search engines

Chances are that, whatever error you have, somebody else had the same error at some point. A quick google search will probably solve most of your errors easily. Well, that’s about it in this section, nothing more to add. :)


3. Provide all Information that might be useful

When an error occurs, whoever wants to help you will be clueless about your environment, your code, or even the error itself, so make sure to include as many information as you can. For example: the full error code, including the trace back. The code snippet where that error occurred. Your environment. Possible solutions you tried yourself. You don’t have to include everything, but a solid base of information will help a lot!


4. When there is still an error after an possible fix, that doesn’t mean it didn’t work

I’ve seen lots of people replying on a possible solution that said solution did not work. They often miss to realize that the error which occurred after the fix, is a different one than the one before. And in worst case scenarios they will even ditch the previous fix to try something else. This makes fixing the problem harder, but also will make it harder for you to fully understood why that bug happened. So when a follow up bug appears, then read carefully. Is it really the same error? Does it happen at the same line in your code? Chances are that the follow up error is a different one or happens at a different position in your code, and you need to fix that bug as well. ;)