First step is always a guess, I go through my code, check if I missed anything obvious. And counter checking with my notes on what I wanted to achieve and the process or the method. If I don't get the problem I proceed now to the technical parts, checking and testing conditions, commenting out any line thats not in use, at the same time console.log() of anything Javascript/Node and print or var_dump() on PHP(Yeah am still using it). I google to check if am missing something, check documentation of the language(This has helped me in getting an indepth knowledge), check on forums, and SO(2nd Last problem)! and lastly post on SO. I also have a team so I share the code and they too help. Mostly, I get my answers in the 1st or second step and in rare occasions in SO.