6

Recently I was being interviewed by a company and faced one question. The interviewer asked me a question and at that time I didn't know the answer but if I had been asked about just 4 months ago, I could have answered it.

The question was from new language that I learned just 4 months ago. But I just get overview of the language and just get started working on that. Whenever I face difficultly, I google it. That means we do not have to memorize the whole programming language book! So in that situation I felt that Google screwed my job!

Not talking subjectively, Is it good to google all the time?

Walter
  • 16,158
  • 8
  • 58
  • 95
Vikas
  • 479
  • 1
  • 4
  • 12
  • 4
    Have a read of http://improvingsoftware.com/2009/05/15/why-id-just-google-it-is-not-an-acceptable-interview-answer/ – Carson63000 Dec 10 '10 at 05:43
  • 4
    The trick is remembering the search results... –  Dec 10 '10 at 14:03
  • 3
    Let's not forget that Google does employ a number of programmers so their living is coming from Google. – JB King Dec 10 '10 at 21:36
  • 3
    You either have a good memory or you do not - stop blaming Google. Interviews should not be about trivia, but you do not want to invoke "I will Google it" too often because in the interview you must stand out. – Job May 20 '11 at 15:58
  • 5
    The act of typing words into Google and hitting enter/submit isn't the end of Googling something...you have to take it upon yourself to read and understand the results. If you don't, then don't blame Google that you never knew it in the first place. – Jetti Aug 31 '11 at 20:42
  • see also: [Is constantly looking for code examples a sign of a bad developer?](http://programmers.stackexchange.com/questions/152020/is-constantly-looking-for-code-examples-a-sign-of-a-bad-developer) – gnat May 03 '13 at 00:52

13 Answers13

25

Well, ... human memory and instincts work faster than Google. But then again, we cannot commit everything to memory (human brain just doesn't work that way - you remember in the lower circles only the things you need momentarily).

Google however is great as a replacement for paper books, manuals, everything really. And makes searching those (like you would in the ol' days) a breeze. So yes, it is good.

But one must remember, it is just a tool - like any other. No good programmer relies on it to just pop up solutions, so he can go like that from day to day. After all, what's on Google has already been done - and understanding of matter leads to doing stuff that yet haven't.

Robert Harvey
  • 198,589
  • 55
  • 464
  • 673
Rook
  • 19,861
  • 9
  • 53
  • 96
11

For the most part it's good though I think it has bought about a deterioration in problem solving skills among many programmers.

Before the internet if you came up against a problem you'd not seen before you pretty much had no choice but to investigate and solve it yourself and if you couldn't come up with an answer them you had to work around them. You could get help from team mates and from books but the total knowledge pool you had access to was perhaps a few dozen people at most.

What this meant was that pretty much every programmer who'd been working for a couple of years had experience working with genuinely detailed problems, often at a fairly low level and as a result had a far better understanding not only of how to address these problems, but of also how the language and tools worked because of their experiences.

These days most answers are available immediately as you're probably not the first person who has come across it - 30 seconds with Google will usually get you the answer. That's obviously great - what used to take 2 days now takes 2 minutes - but I do find more and more programmers who start floundering very quickly when Google can't provide the solution because they're simply not used to it.

So overall Google has made developers way more productive but in some ways I think the big problems are bigger because less people have the experience of solving them than used to be the case.

Because of that I'd say that if you want to be a really great developer you do need to break the Google habit to an extent, if only to make sure you're capable of solving things without it when the need arises.

#wheniwasalad
Jon Hopkins
  • 22,734
  • 11
  • 90
  • 137
  • 3
    +1 Good points. One catch, though: Google often yields *better* solutions than I could ever hope to come up with. And I might spend the rest of my life thinking I've come up with a great solution, when there's a much better one out there. In fact, Google has helped me improve my problem-solving skills in many ways. – John M Gant Dec 20 '10 at 18:45
  • 1
    "you're probably not the first person who has come across it" - not true for the vast majority of bugs in code you or your colleagues have written. Which I suspect is the majority of problems faced by the typical programmer. – Michael Borgwardt Aug 31 '11 at 21:16
  • It's the same problem as auto-suggest in IDEs; rather than reading class docs to learn the methods, the temptation/practice is to blindly type likely prefixes and pick from the suggestions. Not me though, I primarily use vim (ok, and ctags). – Phil Lello Mar 30 '16 at 20:15
5

It's more than just googling. It's what I call the "art" of using google. Some people, no matter what you do, take forever to find something on google because they do not know the best words to use to conduct the search. How long does it take you to find and implement the code you need? That's really the issue.

Musaab
  • 503
  • 3
  • 12
4

Google as a language reference is all good in my opinion. I don't consider memorizing every piece of syntax or name of framework utilities to be a significant part of being a good programmer.

Speaking about whole solutions found on Google - well, anyone who is interested in quality and improving themselves will take the search result as an opportunity to study and learn. I don't just copy & paste some big block of code from link #1. I look through 5 or 10 different ways of solving my problem. Understand them, find how they differ and why, figure out which part I don't need, see which parts makes sense to me and apply to my particular project.

Seeing other people's solutions is not just a boost in productivity, it's vital for my development of skills and experience.

That said, I find it refreshing when I sometimes need to open up notepad and write some chunks of code, without intellisense, syntax highlighting or any help from Google.

rmac
  • 464
  • 2
  • 5
2

It depends. If you only worked in a language for 4 months, it's not necessarily unreasonable to need to google certain things, depending on how much time you spent on the language and how experienced a developer you are. With experience, you start picking up new languages faster. In your specific situation, it's hard to say if the interviewer was too picky without knowing the question you were asked.

In general, though, it's definitely okay to look up information online if you're stuck, but don't use the ability to do that as an excuse to stop learning and remembering important aspects of whatever language you're working in.

Adam Lear
  • 31,939
  • 8
  • 101
  • 125
2

Having Google - or rather the web and a search engine - is a lot better than not having it.

However in response to "Is it good to google all the time?" I don't think so - but then again I'm relatively ancient in Computing terms (graduated in '82) and perhaps my google-fu is not the greatest.

I'm particularly unhappy with the notion that:

Google however is great as a replacement for paper books, manuals, everything really

because it isn't (well not unless we renamed "the web" to "google" whilst I was asleep).

It is certainly true that there is a great deal of information on the web and that a great deal of that is either a copy of or a replacement for paper books, manuals etc. It is also true that google (or bing), can be (though is not always) an excellent means to find content on the web. Problem is that there is also a lot on the web that is dated (or refers to the wrong version) or is just plain wrong and, in the case of many of the questions I ask, a lot of asking and very little answering (and those questions and less than helpful discussion threads are echoed all over the place by sites that think it helpful - or profitable - to endlessly duplicate other sites).

I think there are two keys for me:

  1. You should start with the manual - or, since those often don't exist any more, the specific help for the tools your using (local or remote). This usually covers the basics. Only when that fails do you reach for your search engine (and even then you might - probably should - have specific sites to visit first - or target to search first). Of course the manuals don't have all the answers - but for the more "interesting" questions finding a good answer on the web can be a challenge
  2. One still needs to read books - they give you depth and insight and show you things you won't find hunting issue specific answers. Even turning the pages of a manual or browsing the VS2010 help web pages when trying to find an answer will put things in front of you that you might not otherwise have seen (and would likely dismiss as not being relevant in a web search).

To be clear - I'm not against using google to find information on the web - I do so all the time - its the notion that its the first place one starts that worries me.

Murph
  • 7,813
  • 1
  • 28
  • 41
  • since I do .NET I usually start with MSDN, if that doesn't answer the mail then I start general searches on Google (which usually point me to StackOverflow). – Ken Henderson Dec 10 '10 at 23:18
  • +1 for "a lot of asking and very little answering". Even if you use add-ons to block the unhelpful aggregation sites, it's not too difficult to have a problem that doesn't have an online solution ... and the more specific your situation is, the less likely it is that others could even reproduce it, much less solve it. – Dave DuPlantis May 20 '11 at 18:38
2

Is it good to google all the time?

As opposed to what exactly?

You specifically refer to 'memorizing the whole programming book language book' so I assume you meant the question in the context of using Google as a way to look up language features of syntax.

So if you don't know the syntax/command, you are going to have to find it somewhere. I don't think it makes any difference if that is Google, MSDN, API documentation, or a physical book.

With that in mind the answer to your question is: Yes. Unless you think sitting at your desk staring at the IDE hoping for divine intervention is better.

JohnFx
  • 19,052
  • 8
  • 65
  • 112
  • Good point ... some APIs are easier to work with than others, some languages have great resources (like MSDN etc.) as well as good examples ... some just doesn't. All these resources though, are scattered around the web, so google would be a good tool to get to those resources ... – aggietech Aug 31 '11 at 22:33
1

So in that situation I felt that Google screwed my job!

The problem was not Google or the web in general. The problem was that you didn't know the answer to the question. You seem to feel that you would have remembered the answer had you learned from a book rather than from one or more web sites. Again, the problem is not the existence of the web sites, it's that you learned (or rather, failed to learn) in some way that didn't suit you. And please remember: the notion that you would have known the answer had you learned from a book instead of a web site is pure speculation on your part.

If you had successfully answered the interviewer's question, would you send a fruit basket to Google thanking them for getting you a job? Of course not -- you'd take full credit for being smart enough to know the answer.

Is it good to google all the time?

No, of course it isn't. It's wonderful that we have a resource that can provide answers when you're stuck, but using the net as a crutch in place of learning is, as you have found out, not beneficial for you in the long term. It's like watching the movie versions of all the books assigned in a literature course instead of reading, or using the solution manual for your calculus text to complete a problem set. You might get credit for knowing the basic plots or turning in your homework on time, but you'll do poorly on your final exams and ultimately you'll have learned little.

Caleb
  • 38,959
  • 8
  • 94
  • 152
1

All the time it's an exaggeration. You could be perceived as a copy-paster. Those guys are locusts: they disrupt projects, pollute them with 3rd party insecure copyrighted snippets they don't really understand. (and thus cannot be optimized)

Googling by itself isn't bad. You gotta show the interviewer you have a working, knowledgeable, brain, behind those googling little fingers, though.

If I don't remember the information, I'd tell them the exact google query I'd input, and the second best one, and the third one. And then go on talking about how I would handle the results. And what I suppose those results could be related to. And what I more or less expect. And how I expect them to relate to the matter at hand. And more. And more.

You're just supposed to show you can dig your way around obstacles.

ZJR
  • 6,301
  • 28
  • 36
1

It depends on the question(s) posed.

For example, "What is the argument order and return type of function Something::xyzzy() in PHP?" is a useful thing to search for on the web - although I do remember syntax for the common functions, I don't expect to recall the syntax of every language construct ever.

On the other hand, "How to build family tree using javascript,jquery,PHP.?" (Real Question™) is something you never want to answer with "I'll ask Google" (or StackOverflow, for that matter) - the issue is not likely to exist in a complete, answered state out there on the Web.

In other words, the WWW is a useful reference for things you'd otherwise need to memorize, but not for things where thinking is required.

  • +1 for syntax reference. We must have to study which function will going to help me? e.g. to play with string, string tokenizer will help, but I don't know how to use in .net or Java!1 – Vikas Sep 07 '11 at 11:51
1

So in that situation I felt that Google screwed my job!

No. The person who screwed your job option in this respect was you, and not Google search.

Google is a tool. How you use it, and specifically, how you note things you learn from it is up to you. The more frequently you use something, the more likely you are to retain it, Google or no Google.

temptar
  • 2,756
  • 2
  • 23
  • 21
0

Google is demonstrably changing people's memory structures- all throughout the populace. People remember where to find information instead of information itself. This is not specific to programmers or you in particular at all- it's a general trend amongst the population that have dependable Internet access.

The simple fact is that whilst it might be somewhat slower to Google than to remember it, Google and/or other online references that are more specific like MSDN contains a vast, vast, vast quantity of data- far more than you could possibly remember. This makes it simply more efficient to depend on Google for facts, and save memory space for real understanding.

That is, it's trivial to Google the syntax for C++ partial specializations, and it's quite another thing to actually be able to write partial or explicit specializations- their specification can throw up quite a few surprises if you're not experienced in how they work, and the knowledge of that can be significantly more useful than the knowledge of what the syntax is.

In addition, it's arguable that the ability to use those references themselves is a very significant job advantage when dealing with a language or framework with which you are not inherently familiar.

DeadMG
  • 36,794
  • 8
  • 70
  • 139
0

Nothing wrong with using Google as a reference.

The real proof is "in the pudding".

While there maybe be many answers to your search query, finding the correct answer is a different matter all together. You still have to figure out how to make the code snippet work in your application.

In the "old days" it was trial and error to find the best or most efficient method, these days you get to examine many projects with working examples.

Martijn Pieters
  • 14,499
  • 10
  • 57
  • 58
Darrin
  • 1