One of the biggest challenges I've seen for new developers is knowing when to ask for help. There are two ends of the spectrum: asking for help without first looking for an answer and working for days or weeks on one problem without asking for help. So... when is the best time to ask for help? I'll go over a few steps I like to take before asking someone to help.
1. Read the documentation.
Sometimes a framework's or library's documentation is really all you need to solve a problem.
Many open source projects will have at least some documentation in their Readme
on their GitHub page. Other projects will have a Storybook or other example code in or linked from their repos.
The documentation didn't have what I needed or sucks, what do I do next?
2. Google the problem.
Unless you're on the absolute bleeding edge of tech and have an issue, someone has probably encountered the problem you're having before. This one can sometimes replace "Read the documentation" since googling will sometimes take you to the docs.
3. Try out some solutions.
You probably found something that may be useful in your research. Don't be afraid to try those out! Maybe you'll stumble across the solution on your own and learn something in the process.
So I found some stuff, but nothing is exactly what I need...
4. Ask for help.
It's important to not spend too long in the process between the first three steps. How long each of those steps take is dependent on the problem. However, if you're stuck or notice yourself circling back to the same incorrect solutions, ask someone to help! They may have run into that problem before, or at least run into a similar problem, and have some insight on how to fix it.
Don't be afraid to ask for help if you need it.
5. Write down how you solved this problem. (Optional, but recommended)
When you solve the problem, write out a little blurb or a blog post about your problem and how you fixed it. This way, you'll be able to help your future self if you encounter that problem again or more easily help someone else that runs into that problem.
๐ฃ When do you decide it's the right time to ask for help? Do you have any key indicators that you're stuck? ๐ฃ
Title illustration from unDraw.
Top comments (11)
The last step is underrated.
Absolutely! And Iโm guilty of not doing it too often.
Writing down the problem you were having and how you did solve that problem is so underrated. That is one of the most powerful tools you have.
I wrote some stuff down in our documentation half a year ago, and now I read it again. It helps so much, and writing stuff down always helps.
Great piece!
I totally agree. I know Iโve run into the same problem in AngularJS countless times over the past few years and never wrote down the solution. I finally did, but I was kicking myself for not writing it down sooner!
Thanks!
My rule of thumb is to ask for help if i am out of solution-leads, or what i am working on has high priority and i do not have time to pursue all the leads i have.
Leads include, google, docs etc, like the article mentions, but also code debugging, library source-code exploration, testing, and other shenanigans.
Do these things, if you have the time.
You will come out a slightly better problem solver each time, i promise.
I find 90% of the time, i already know the solution.
I just gotta poke the old relation engine a bit to bring it about.
A couple of tools i use to do this are, list all probably solutions down, and if that fails, use a colleague as a canvas and list up your possible solutions to them, without their feedback (speaking aloud to your-self also works, but i usually only do this at home).
This is usually enough to get the creative juices flowing.
Also, as rule of thumb, i never try out solutions before i have listed up the possible solution's first.
I might end up pursuing a detour, or sub-par solution, otherwise.
Unless ofc. i am limited by time.
Those are good suggestions. Thanks for sharing! I like to try out solutions as I go, but I know that doesnโt work for everyone. Sometimes I will look at a few places and try to summarize (for lack of a better term) my findings into another solution.
Thanks for the tips Kayla. I have found that asking the question on StackOverflow etc can help. Quite a few times I have written the question out and when I have broken down the problem I have then worked out the answer myself before I have hit send on the question. Some people find those sort of communities unfriendly and unwelcoming but in terms of forcing you to ask a well prepared question I think its great.
Thanks again! Have a great day.
Definitely. Itโs a fine line to walk between being unfriendly and explaining the need for a specific question. Thanks for reading!
There are good suggestions, but in the third point sometimes it's very hard, because not always seniors or bosses help you (this is my experience, but it's not always true, depends where you work)
Thatโs a good point. Iโm very fortunate to have worked in places where senior devs and managers were willing to help whenever. Thanks for bringing that up!