Programming is all about solving problems, and lot’s of them.
Because coming up with solutions is core to development activities, what are the best ways to become unstuck when you’ve hit an obstacle?
In the vast world wide web, it’s likely programming solutions to most issues you’ll come across already exist out there. The tricky part is knowing how to find them.
While googling the problem is just one method of finding programming solutions, there are certain skills that can be learnt to improve your chances of finding solutions quickly such as knowing how to use search engine tools effectively.
It’s also important to not think you’re not competent because you always need help during your programming task. In fact, it’s completely normal and part of a developers life to always be making use of any means and resources available to reach our desired solution!
We’ll discuss some tips, tricks and tools every developer should consider having at their disposal while tackling those problems and coming up with programming solutions.
Mastering the art of searching
Google/bing/duckduckgo – whatever search engine you prefer, if you’re a programmer you probably use these more than you would like to admit! (I know I do).
There are some simple methods to improve how you search for solutions.
Searching is a skill that can (and should) be learned
It’s one thing to realise you need a programming solution, and another to know how to go about finding it.
In some cases knowing how to search for a problem is simple.
Compile or run error? Copy and paste it into the search bar and see what comes up.
For the very popular programming languages and common issues this is enough. But for those less popular programming languages and trickier issues this may not work out.
Also, what about how to find programming solutions to other issues that aren’t as easy to type into the search bar e.g. system design, bottlenecks, library/framework queries?
In such cases, you may need to think more about how to type your question into the search bar. This is where it becomes important to know how to use keywords and phrases in your search.
Google and other search engines also accept syntax for more advanced level search.
For example adding quotes around the search term will search for the xact phrase. Or using “site:websitename.com” will perform a search inside a specific website only.
Checkout this article put together by a developer that explains some search syntaxes that can help programmers.
Remember, your search tool is an assistant not a brain
While google may have many answers, it’s no replacement for your own mind! Avoid relying on google to find out the programming solutions to the bare fundamentals of your chosen programming language.
This means not being tempted to use your search tools as a replacement for memorising the basics of your programming language. While technically you’ll quickly find the answer for the most basic questions to some programming queries (e.g. how to print to console) you certainly don’t want to be reaching for google every time you need to use this!
Rather, get comfortable with the basics of the programming language you’re working with so you’re able to code in a more practical way and reduce interruptions. If you find yourself googling at every line of code then you’re likely a bit too reliant on google.
If it’s not the case however that you’re over reliant on search tools, if you do forget something, it’s okay to do a quick search as a reminder!
Have a resource list at hand or form your own
This refers to having a sort of cheat sheet that gathers a list of resources that you can reach out for to improve your chances of finding programming solutions quicker.
If not an already existing resource list, create your own personal reference list.
Is there a website or article or resource that’s helped you through many issues previously? Bookmark it so it’s easier to access when you need to.
You can even have your own personalised reference list of where you store solutions to questions you find yourself regularly googling or extra tricky problems you come across. Store these in documents or as repositories.
Over time you will end up building up an amazing list of resources and solutions that you can even share with others!
Read articles and books to improve your proficiency in debugging
By reading this article you’re already taking the right approach to improving your search skills!
Take things a step further and read books aimed at improving your debugging skills. This will provide more proven systematic methods you can apply to develop your proficiency when debugging code.
As an all rounder book on debugging tips we recommend the book The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems by David J. Agans (paid link).
The book provides a series of steps to take when tackling those extra tricky engineering problems and will improve your mindset on how to approach the art of debugging.
For a more thorough review of the book see this article: 9 Indispensable Rules for Debugging Software and Hardware (Book review)
“Programming isn’t about what you know; it’s about what you can figure out.” – Chris Pine, Author of Learn to Program
Let’s cover some other tools and tips that don’t involve the obvious search engine method.
Code Grepper - A secret weapon for getting answers fast
Grepper is a web browser plug-in that provides a way of accessing answers to problems by placing potential answers to a question at the top of your search results.
This concept is powered by developers helping each other as all Grepper answers are added by other developers.
It’s a cycle of helping each other out, where a developer searches for a question and sees the answer submitted by another developer appear right at the top of the search results. Answers can be upvoted by other developers and will indicate how likely the answer is indeed a solution to the query.
Grepper started in 2019 and therefore is fairly new to the scene as a developer platform and community. It’s ultimate goal is to threaten the position of Stack Overflow as a source of finding programming solutions.
While that’s certainly an ambitious task I anticipate we’ll be hearing a lot more of Grepper in the near future!
Ever since discovering Grepper, it’s become a valuable tool for me in the process of finding quick solutions from basic to advanced level queries for all sorts of programming related topics. By also contributing answers to questions, it’s also nice to be part of a platform that encourages exchange of knowledge between developers.
Read more about Grepper on their website and consider installing the plug-in for your browser!
Getting help in video form
Another tool to consider in your quests to have programming solutions is searching for video answers. This might not be as obvious as video search results don’t always appear for a search query.
That’s why we shouldn’t forget YouTube and any other video platforms that share content relevant for developers.
YouTube is owned by Google and also happens to be the second most powerful search engine in the world after Google.
More and more YouTube videos appear in search results for questions you might be answering but in many cases you are better off performing the search directly on YouTube.
While getting an answer in video format may take a bit more time, it can be particularly useful for solving issues that involve several steps as each step in the process can clearly be demonstrated in video format.
Video format is also useful for tutorials or course related content if the problem you want to solve will require you learning some new skills first!
Get direct help if all else fails
While we can say somewhere on the internet will likely have a solution to your problem, it’s not a 100% guarantee.
Perhaps your problem is extra tricky or involves a super niche area of technology. Or maybe you found a solution but are having difficulty understanding the solution and applying it to your own problem. Or maybe you don’t want to get help publicly because your query contains confidential or security related information.
In such cases, getting private help from other developers can be an option. This refers to getting more direct assistance through code mentoring platforms or freelancers that can provide a personalised assistance to your issue.
Through this method, you’re hiring someone to help you with your problem, and depending on the urgency, complexity or scale of the task, this is a worthwhile option for some.
Codementor is an example of such a platform that can offer direct assistance with your programming related query. Approved mentors from different fields of software engineering offer their services to mentees who are looking for help with a specific problem. The platform then offers various methods to get help such as 1:1 live sessions, freelance jobs or long-term mentoring.
Read more on Codementor on how to get direct help to your problem.
Constantly searching for programming solutions and developer related queries is part of the process of working on any software engineering project.
Thanks to the vast amount of content available on the internet and powerful search tools, the answer to your issues could be just around the corner.
Developers can learn to use such tools effectively to reach the solution quickly and avoid large interruptions in their work.
What methods do you use to find solutions to your development related queries? Share them in the comments.
See other articles you may be interested in below: