You're happily coding and hit a small technical snag. You focus on your search box and trawl the internet looking for answers. StackOverflow et al have some related things, but not exactly. You spend a few more hours using that knowledge, looking for new solutions. But alas, it's not working. Rinse, repeat: more net crawling.
At some point you hit a dead end. There's no more relevant information online. You've gone through the docs, the examples, the issue systems, and the Q&A sites, but nothing has helped.
You may even up the ante and start asking questions. And should the comments on StackOverflow not completely demotivate you, you clarify the question, cross-reference and continue to hope somebody can help.
Alas, no answers appear.
What do you do now?
Latest comments (40)
1 - Ask for help to other devs
2 - It's your turn to use the best of your skills to find a solution on your own and share it with the internet
The internet has never failed me!
That's where all the documentation is.
Speaking for myself, i try a different approach, if it doesnt work, then change everything to make it work, takes some time xD but at the end if it works then its great hehe :)
It's unlikely Knuth or SICP doesn't cover it or similar small snags.
If they fail me Cormen's Intro to Algorithms will have to suffice.
First: I always think somebody in the world has faced the same problem and I keep looking not longer than a day or two ( as said - dead end)
Decompose my problem into smaller parts as possible
Provide alternatives - I always have a few of them. The best one always kills me until I get a solution
Check Microsoft documentation if related to MS in my case
If no solution found yet, I use an old code 'goto: 1'
If internet fails, Pair programming or rubber duck debugging are good options.
1) Take a break from looking at the code. Oftentimes, taking a shower helps me solve problems.
2) Discuss it with a non-coder. Having to explain the problem to someone in layman's terms often helps me realize what is going wrong.
3) Break it down into sections to figure out exactly what is working and what isn't.
4) Start thinking outside the box.
If you're on a dead end, ask someone else. If no one can answer you, start to break into the source, if you still can't fix it then wait, someone else will fix it. If you're on a deadline, buy more time or offer some alternative.
You should always consider how big the problem is. If stackoverflow or google can't help you, maybe it's not that big of a problem and no one cares about it. Maybe there's a better solution without having to deal with that problem.
Sometimes all you need is a different perspective from another dev ☺
This is usually my process:
Try to isolate the problem. If possible, replicate the issue in a CodePen, jsbin, etc. The act of doing this can sometimes help you find a solution.
Search Github issues. This is actually my first stop instead of stack-overflow.
Read the source code, look at code comments, sometimes there are examples in the repo and maybe there is a wiki.
Google for blog posts, examples, tutorials. Be specific in your search. Pick the appropriate part of the stack trace instead of searching for the whole thing.
Explain the problem to a co-worker. So often I will answer my own question just by saying the problem out loud. Try pairing on it.
File a github issue and attach the example replicating the problem. Consider re-evaluating your mental model. When I'm new to something I find that this is often a challenge. I'm asking the wrong question or things aren't quite what I expect them to be.