One of the best skills as a developer is knowing how to solve problems.
You’ll never meet a single developer that knows all the things about a particular technology. Ok, maybe that comes after spending a lot of time learning all the ins and outs of it.
But when you ask that person about a topic that’s slightly different, then they might not have the answer. Say they know everything about React, but then you want to know how to use React for building an iOS app and they have never done any iOS development.
That person then needs to find an answer.
How do you find answers for your programming problems? How do you determine the correct way to do something?
It’s a skill that you can master, like any skill. Many times I get questions that can be answered with a single Google search, and for me it’s quite obvious because I’m so used to. So I simply search that issue on Google and send to the person the page that contains the answer.
It’s perfectly normal to use Google. Everyone does it. It’s not “cheating”. We’re not in school where you’re conditioned that copying from other people is bad. People share their solutions online so other developers don’t have to waste time in the future.
That’s what I do with my blog, too.
The most advanced skill you can have as a developer is quickly finding solutions to your problems and Google is the best tool for that.
Sometimes you get too many results back. In that case using the
- operator in Google will remove results that contain a specific keyword.
One thing you’ll find yourself doing a lot is searching error messages. Let’s say you got the error
cannot update a component while rendering a different component in a React application.
You can use double quotes to search for that exact specific phrase. Type that in Google. With quotes you’ll get 600 results. Without quotes, you’ll get 325 million results. Quite the difference! That helps you laser focus and avoid results that are just noise.
Google is only the tool that is built to quickly find what you want, but what Google gives you is the pages created by other people like you.
The exact place you’ll land upon differs from language and framework, of course.
There are websites that cover almost everything, like StackOverflow. It’s the site that will show up in 90% of your searches, as it’s a questions/answers site made for developers. Usually the problem I have was already solved before, and it had many solutions coming from the past.
One of the things you need to worry about is if the answer is outdated. Sometimes an answer written in 2012 might not be valid any more. Tech moves fast.
Other times you’ll land on individual blogs written by developers. I highly suggest you to create your own blog to share solutions you find to your problems. If you spend 30 minutes looking up how to do that fancy thing with an array, then there’s a chance another developer might have the same issue.
If your blog post helps them do it quicker, it’s good karma coming to you.
Sometimes Google does not have all the answers. For that, every framework/library/tool will have its place. Sometimes that place is a forum, sometimes it’s a chat, sometimes it’s GitHub.
If the tech you are having problems with has a website, look for a “community” link. That’s where you’ll generally find help. Ask gently, you’ll get answers. Asking on StackOverflow is also a good idea.
You can also find help in your company. The more senior or expert developers will gladly help you overcome a problem you’re stuck with. Don’t be afraid to ask. Sometimes what might take you hours will be solved in 2 seconds by an expert eye.