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.
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?
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.
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...
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.
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.
Single Responsibility Principle (or SRP) is one of the most important concepts in software development. The main idea of this concept is: all pieces of software must have only a single responsibility.