fbpx

Why do you keep telling me to search Google?

Introduction

When starting one of our bootcamp courses, students notice something odd within the first week or two. 

This typically starts when students get solid programming fundamentals under their belts and are tackling more advanced challenges. Those challenges involve programming concepts we haven’t covered in any of the previous course materials, and the student has hit an impasse. 

At that point, the student reaches out to an instructor for help over Slack. 

The question goes out. The student waits.

The instructor starts typing. Illumination is only a few seconds away!

The answer comes back. 

“What research have you done? Have you done a Google search around this problem?”

Sometimes, the student takes up the challenge, leverages the research tools, finds a good programming tool that fits the challenge, and makes a breakthrough. Onward!

Other times, there’s overwhelm. With that overwhelm comes frustration, and that frustration gets aimed back at instructors. (Don’t worry, we don’t get offended by it.)

“Why am I paying you all this money if you’re just telling me to go on Google and look it up myself?”

This is a valid question! It can look like we’re taking the lazy way out as teachers by telling you to search on Google. You don’t have to pay money to search on Google. So why do we often use this form of redirection?

Let’s dive into that question with this article.

We’ll talk about the importance of good research, the challenges that software developers face when researching, how Google searches and generative AI fit into the process, and ultimately land on why we ingrain this approach into students from the very beginning. We’ll even share some tips for using Google more effectively in your research!

Ready? Let’s get started.

Why is research important for software developers?

When students are first learning how to code, there’s an implicit expectation that there’s some kind of ending point to the learning. You’ll always continue to improve your skills, of course, but the MAIN learning will end at some point, right? 

What students eventually start to understand is that no, the learning literally never stops. Not only that, but often knowledge you’ve previously gained (like syntax for certain parts of a programming language) will change and you have to unlearn what you’ve learned, then learn it again in a different way. 

Another common hurdle that students have to overcome is unlearning the habit of memorizing. Because of how most traditional education handles learning, they’ve become used to the goal of learning being to memorize concepts in preparation for regurgitating them back for a test. So the initial impulse when learning from us is to take a lot of notes and study them with the intention of recalling concepts later.

This quickly becomes ineffective, because there’s so much information coming at them so fast. And, the focus being on project-based learning, any time spent just trying to memorize and review concepts is time NOT spent building, which is where the action is. 

While a tough hurdle for some to overcome, letting go of these habits is freeing. The start of letting them go? Learning the proper way to use the Internet as a “second brain” and resource when navigating coding challenges.

Research is a big part of software development

Let’s take a practical example. A common beginner coding challenge and technical interview question is solving the “FizzBuzz” problem.

In that problem, you are tasked with printing out numbers 1 through 100 using code.

However, if the number is divisible by 3, you replace it with the word “Fizz”.

If the number is divisible by 5, you replace it with the word “Buzz”.

If the number is divisible by 3 and 5, you replace it with the word “FizzBuzz”.

At the end of the day, it’s a pretty simple problem and an exercise in understanding loops, control flow, and effective use of operators.

However, if a student is stuck on solving it, they may turn to the Internet.

A common search? “Solution to FizzBuzz problem in JavaScript”.

Sure enough, a plethora of solutions come up.

The student copies and pastes the solution, runs it, it works, they move on.

But here’s the problem – did they understand the solution?

Did they understand how all of the different parts of the solution worked together to get the final outputs?

Could they use those parts to approach other problems creatively?

Probably not.

In this case, the student did research, but it did not support their growth as a software developer. It was a crutch to shortcut the problem solving process to arrive at a solution more easily. 

We classify effective research as any information gathering activities that help you get better at problem solving, which is the ability to come to novel, creative solutions by assembling the different elements of a programming language together to develop a solution. 

Because programming is a complicated and deep discipline, we can’t possibly memorize all there is to know about the tools we are using to solve problems.

So, research serves a few different purposes:

  • Recall detailed information about programming concepts you are familiar with, but can’t recall specifically in the moment
  • Learn new things about programming that will help you solve the problem at hand
  • Understand how a technology you are working with has changed since you last used it
  • Learn how other programmers have approached similar challenges to check for any issues in your approach

Embracing the Google search is a relief to your brain

Understanding the purpose of research lets you do something critical – let go of needing to memorize everything, and letting go of the expectation that you will always have the information you need to solve every problem you come across. 

We call it hacking for a reason! There’s an almost “bush-wacking” approach to problem solving that involves hacking away at a problem with the ideas you have and the knowledge you already possess until you hit a wall and have to research to expand your skills and knowledge. 

We often tell students to embrace laziness – to let go of trying to power their way through everything and focus on finding the most efficient approaches to problem solving. Embracing this kind of research is one way to become more efficient. We don’t memorize our way to success – we instead get very good at cultivating available information so that it is useful when we need it. 

That’s a huge relief to a lot of people once they embrace this paradigm.

So again, don’t memorize – learn to cultivate.

Now, what are the challenges to successfully using tools like Google to research?

Glad you asked.

What are some of the challenges of research for software developers?

The Internet is a very big place. One of its biggest strengths is also something that makes it hard to navigate when it comes to research – the fact that anyone can add their own content to it. 

That leads to three main challenges:

  • The amount of information available can be overwhelming
  • It can be difficult to find relevant and accurate information
  • It can be time-consuming to find the information you need

Just clicking on a random Stackoverflow answer and blindly using the answer you get there can lead to even more lost time during the pursuit of a solution to your problem. 

That means that research in this context is truly a skill. That skill takes time, discernment, and patience to develop.

This is the main reason why we teach the fundamentals of research early on in our courses. We want you to be able to find the right articles, tutorials, documentation, libraries, and frameworks to solve problems effectively. We also want to make sure that what you find doesn’t send you moving backwards or become a crutch that limits your greatest asset as a developer – problem solving capability.

How does Artificial Intelligence factor into this equation?

In addition to traditional search, AI is also playing a growing role in software development research. AI-powered tools can help developers find relevant information more quickly and easily, and can also provide insights that can help them solve problems more effectively.

For example, AI-powered tools can be used to:

  • Identify and prioritize the most important information in a search results page
  • Suggest relevant keywords and phrases to help developers refine their searches
  • Generate code snippets and complete projects based on a developer’s requirements
  • Provide recommendations for debugging and troubleshooting

As AI continues to develop, it is likely to play an increasingly important role in software development research. By providing developers with access to more relevant and accurate information, AI can help them to be more productive and efficient, and to create better software.

There’s always a dark side, though! Remember that AI is trained on information available on the Internet, just like what you’re parsing as you research. Sometimes it has outdated information, and it often doesn’t fully understand the context of the problem you are trying to solve. 

Just like with researching on Google, using AI for research also needs to be done with discernment.

Learn more about the role AI will play in software development moving forward here.

3 Tips to Use Google Search More Effectively 

When you’re using Google, here are 3 tips to research more effectively:

  • Use keywords and phrases that are relevant to your search

Always include the technology in question. For example, if you’re trying to make date/time conversions in a JavaScript application, a good search phrase would be “how to convert a date/time to just a date in JavaScript”. Notice that we’re including the programming language as part of the search phrase to pare down results.

  • Use quotation marks to search for exact phrases

To make sure your search is as accurate as possible, surround exact phrases with quotation marks. This is especially useful if you’re looking for a specific version of a technology in documentation.

  • Use Google Search operators to improve your results

There are some very “programming”-like operators that you can include in a Google search to further refine the results you get back. Listing all of them is outside the scope of this article, but we recommend checking out this blog post for more information. These are powerful!

Conclusion

Why did the instructor just tell you to search on Google? Simple. To prepare you for effectiveness as a software developer by honing your skill at doing effective research in response to problems you are facing. 

Go talk to a professional developer. The more senior that developer, the better. Ask them how often they use Google to look up information that you would expect them to have memorized. Chances are, they’ve already used it today.

Happy Hacking!

Please fill out your information below!

We'll reach out to you in order to schedule a time to talk.

Please enable JavaScript in your browser to complete this form.
Name

Please fill out your information below!

We'll send you an email with the syllabus attached as a PDF.

Please fill out your information below!

We'll reach out to you in to provide more information and answer any of your questions!

Please enable JavaScript in your browser to complete this form.
Name

Please fill out your information below!

We'll reach out to you in order to schedule a time to meet with an instructor that works best for you.