Why should you reconsider using StackOverflow?
When you ask an average software developer to tell you three websites where he/she spends the most time online, I strongly believe that one of them will be StackOverflow. This amazing site offers a lot of useful information about problems that we, as software developers, encounter on daily basis. This seems perfect, doesn’t it?
However, we rarely ask ourselves the cons of this approach and why we should avoid using it
The concept behind StackOverflow is obvious. Person A encounters some problem and posts a question about it; afterward, other visitors give solutions in comments. Solutions are sorted by the number of likes, so the correct answer is at the top in most cases.
The hidden danger of this process is that we are getting used to it, without any exploring and diving deep into the problem, we are served with the correct solution. By that, we are focusing on the solution and not on the problem itself. In those situations, I like to ask myself, am I the problem solver or problem seeker?
My opinion is that the first destination should always be the documentation of the technology. You probably heard, but it always good to refresh memory by saying: Be a man read a MANual. By reading documentation, we are getting close to the problem, approaching it with understanding. Doing so, we also learn and grow as developers.
On the other hand, the issue with StackOverflow and similar sites is just copy/pasting the first comment without getting into the problem. Unfortunately, sometimes developers don’t even try to solve a problem on their own. Instead, they open Google without trying, which I find as terrible practice.
Should I forget about StackOverflow?
No! StackOverflow is an amazing tool, and it will probably save us some sleepless nights in the future. However, firstly we should try to solve a problem without the Internet. Maybe the best for us is to take some time for it, where we won’t search Google. I like to take about 25 minutes, but this is strongly individual, defined by experience and current situation. If I don’t find a solution, the next step is exploring documentation where I usually spend around 10-15 minutes. If this doesn’t help either, then I start searching StackOverflow for the answer.
When I use StackOverflow, I am always trying to see all comments, reading explanations, and even links in them. Shortly, I am reading all that can help me understand a problem I am dealing with.
This approach’s drawback is that it takes more time, but it also develops a priceless engineering mindset.