I’m learning front-end coding and I am working towards a job. I am learning on my own, with no teachers or peers. When you get a seemingly insurmountable problem and have spent a lot of time trying to figure it out, but can’t quite get it, when is it OK to ask for help? On one side, I want to figure everything out on my own, and on the other, it can be very frustrating and feels like hitting a brick wall.
Perhaps i’m a masochist that likes inflicting pain upon myself because the satisfaction gained from solving problems is greater for the amount of time taken to find a solution (John_Betong’s Law) … unless there is client pressure.
Also the longer it takes it is surprising other information learned a long the way, Yesterday I learnt how to easily find domain DNS server information when typed into the Teminal :
The latter is especially useful in trying to solve my current VPS email problems.
As a freelancer, I start asking once I’m working an issue that becomes a blocker and starts costing me money and clients.
When I managed dev teams, we evaluated blockers every day. If I saw a developer who had a blocker and didn’t pair up with a lead, I would assign a lead to assist. This was rare since we were building high-performance self-managed teams. Meaning, the team members knew to ask before I had to assign a pair programming session.
Another heuristic is to ask once you start thrashing—basically frantically looping and wasting cycles.
When you are no more able to process whatever you are learning. You know that the time you are investing in the course is not giving you any results. That is the time you must seek help.
I agree with one of the comments that more than when it is about whom and how you ask. If you realize that the source you are trusting for coding is not giving you any result and you are not getting a single point, then it’s time to switch to a reliable source.
One piece of advice that I myself have not gotten good at doing is to keep track of what you do to try to solve the problem. There are at least two reasons to do that. For one, sometimes I think something is not helpful but then later I wish I had saved a bookmark to it. But you do not want to do that so much that you have too many bookmarks. Perhaps a file that is kept temporarily until the problem is solved and then after that only keep the links that are helpful. The second reason to keep track of what you have tried is so you can explain in your question what you have tried and why none of them help. People that help are much more likely to help if they can see you have tried.
Another criteria is too ask a question after exhausting the searches of documentation, such as Google searches (but documentation often has its own search mechanism) and going through the results that seem relevant. You will not likely read all of all results. Do multiple searches using a variety of search criteria (keywords or whatever).
You are most likely to get help with a difficult problem if you make it interesting. If people that can help consider the question to be a good question them they will be eager to help.
As for time, it depends. I have spent two hours just writing a question and that is not an exaggeration.
Also, I have seen good documentation and I have seen bad documentation. When I read documentation and I know the the answer is not someplace it should be I am more likely to ask for help sooner after trying to find answers anywhere else.