Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This is not a debate on usage of Google being good or bad for programmers. Kindly refrain from doing so in your answers.

Most people (a vast majority of who use the Internet) use Google these days. What I am talking about is this, 20 Tips for More Efficient Google Searches.

  1. Question: How important do you think this is for a programmer?
  2. Question: How does an experienced search (more knowledge on the issue) compare to an efficient search, that is, a search by an experienced person vs a search by a person who can search better. In terms of yield or quality.?
  3. Question: Do you think this should be taught in programming schools, intern or trainee level? Kindly refrain from the discussion of developing dependency on Google to solve problems. 1) It is not the point of the topic 2) if they can't solve problems, most of the time they will not be hired.
  4. Question: Is this being taught in good programming schools already these days?

Note:

  • Admittedly the article is nothing new.
  • Some of the questions on the site were answered with a simple Google search posted by programmers who could have just searched better for it. Regardless of the expectation of personal touch to the answers most of these were just truly answers to direct or unsuccessful searches.
  • This might be common knowledge to good programmers. But IMHO this is not the case on average.

    There is a difference between

Googling
enter image description here

And efficient searching

enter image description here

share|improve this question
3  
A downvote with no comment? Thats not polite, please help the poster with a constructive comment if at all possible. –  Steve Haigh Apr 7 '11 at 11:59
2  
The Reason for down vote is simple The note at the start of the topic. –  Aditya P Apr 7 '11 at 12:08
3  
@Aditya, I was the downvote, and the reason has nothing to do with the note at the beginning. I felt this question was not useful. I vote up the questions that are useful or well written and I vote down the questions that are poor or not useful. –  jzd Apr 7 '11 at 12:23
3  
@Aditya, yes, but this a Q/A site not a discussion site. You need a specific question that can have a specific answer. –  jzd Apr 7 '11 at 12:35
1  
When I was young, 'internet searching' was taught in high school. There was a whole month on it. These days I find that no-one outside the devs I know realizes that search engines have operators. –  Steve Evers Apr 7 '11 at 12:53
show 8 more comments

6 Answers

up vote 6 down vote accepted
+50

Question: How important do you think this is for a programmer?

Very important. It is impossible to remember everything about programming in your head, and the internet is the biggest help library out there. Being able to quickly and efficiently find what you are looking for is invaluable.

Question: How does an experienced search (more knowledge on the issue) compare to an efficient search, that is, a search by an experienced person vs a search by a person who can search better. In terms of yield or quality?

If I am understanding this question correctly, I would rather be more knowledgeable at searching in general than knowledgeable about what I am searching for. If I am more efficient at searching, I can find anything. If I am more knowledgeable about a single subject, I am only good searching within that subject.

To me, knowing how to quickly and efficiently find what you are looking for is better than simply knowing a lot in your head. It is more up-to-date online, probably more accurate, and can be shown to others as proof. Also, its a lot less you have to remember.

Question: Do you think this should be taught in programming schools, intern or trainee level?

Yes this should absolutely be taught in ALL schools, not just programming schools. The ability to do effective research is essential for everyday life (ok maybe not essential... but definitely worth knowing).

For example, a few days ago I was doing research on automatic-scooping cat-litter boxes and being able to quickly get a list of user-reviewed pros/cons for each cat litter box out there instead of a list of sales pitches is a time and money saver.

Question: Is this being taught in good programming schools already these days?

The programming school I went to started every program with a Problem Solving class. This included basic online research skills in addition to other material. I would be disappointed if online research skills was NOT being taught in any higher-education school.

share|improve this answer
    
+1 nice perspective on relative search yield –  Aditya P Apr 13 '11 at 14:38
add comment

Every one(Every one who uses the internet) uses Google these days.

No they don't. I don't, but then I am a little biased in favour of another search engine:-)

1.Question : How important do you think this is for a programmer?

To be able to use a search engine? Very.

2.Question : How does an experienced search ( more knowledge on the issue ) compare to an efficient search i.e search by an experienced person vs search by a person who can search better.In terms of Yield or Quality. ?

No idea, I suspect programmers are both knowledgeable about the topic and how to use a search engine.

3.Question : Do you think this should be taught in programming schools,intern or trainee level?

For anyone who uses the internet it's more of a life skill, like using email effectively. Maybe it could occupy a small part of an introductory lecture but it's hardly enough of a topic to explicitly add it to a syllabus. It would be something an intern or trainee would pick up on the job through working with more experienced developers I think.

4.Question : Is this being taught in good programming schools already These days?

Don't know, hopefully a student or teacher can answer that. I think you have a point, it's probably something worth teaching to students.

share|improve this answer
    
I was mainly being facetious, I knew exactly what you meant, but GOOG's market share has dropped off a little in some markets. –  Steve Haigh Apr 7 '11 at 12:15
    
@Steve Haigh - what search engine do you use? What benefit do you perceive? Thanks. –  skaz Apr 7 '11 at 12:19
4  
I use Bing. The benefit is that my CEO won't yell at me. –  Steve Haigh Apr 7 '11 at 12:27
1  
@Steve - had to check your profile for that. Seems fair enough:-) –  Rory Alsop Apr 7 '11 at 12:42
    
Regarding 2 IMHO this does not seem to be the case.This is true when referring to good programmers. –  Aditya P Apr 7 '11 at 12:52
show 6 more comments

I suspect one of the issues with Google and other engines from a programmer's perspective is that they're too dumb. Where's the escape character for instance so I can search for an embedded '.'? a.c, a\.c, and a.c all produce the same result - it's frustrating when you're wanting to search for a particular command switch or error code, etc. Advanced search doesn't give more flexibility on this point.

Google, with a regular expression parser, would be much more useful from a programmer's perspective and needn't degrade the experience for non-technical users.

Does it need to be explicitly taught? I'm not sure, as most techies of my acquaintance are aware of - and | switches, etc. for searching. It's one of the things you naturally try, isn't it?

share|improve this answer
1  
Google has a code search page which lets you use REs to search code, but they're much more expensive than their standard search (it doesn't sit well with normal distributed indexing strategies) so I can see why it's not a feature enabled for everyone. –  Donal Fellows Apr 9 '11 at 17:53
add comment

Yes, Googling should be taught, but it already is being taught in most K-12 school curriculums (maybe not necessarily in the best way, but that's a different matter). What's needed at the workplace is for it to be encouraged.

Research skills are taught in the elementary curriculum here in Vancouver. It used to be library research back in my day, but they also do Web research now -- and that includes thinking about keywords. A lot of 12 year olds are more adept now at distinguishing between things like essays and research and reports than many people are at my university, sadly. So I think education on that front is moving in the right direction.

Googling in itself isn't difficult to master, even with all the modifiers and boolean operators. It's easier than using a library, and they only spent a week or so teaching me how to do that.

Thinking about relevant keywords and such is partly a subset of "Googling" skill, but I think it's more importantly a matter of how much you understand the adjacent subjects -- that is, of your knowledge of the field in general.

If people at work don't know how to use Google to find information about a particular programming problem, then their understanding of the field could be lacking to begin with.

share|improve this answer
add comment

First of all I think the programming schools question depends upon where you are. In the US many programming jobs only go to people with 4 year degrees, so at best this is someone with a computer science degree, otherwise they may not even have taken computer science classes at all. As part of a standard computer science curriculum there is no instruction on how to search for answers. Generally information retrieval (where you might learn something about keyword searching) is an elective. So probably they are not getting formal instruction in school. I'm not sure this is something that should be taught in school as most schools are busy cramming down fundamentals and things (and not doing a great job at even that...). Also many programmers do not come from a computer science background anyway. This is the kind of thing that someone will pick up quickly by example... E.g. they ask their co-worker a question and then the co-worker asks what did the internet (or Google/Bing/Ask/etc.) say. Very quickly will they learn to ask Google/Bing before coming to their co-worker.

It is very important to be able to search on a search engine for answers because many times the OS/Library spits out a weird error message that gives no indication as to what caused it. A quick search on Google turns up tons of other people with the same issue and often you find a solution that works. Otherwise you might be phoning the vendor and paying a fortune to find out what is going on.... Still there is a balance. It is very easy to lose a lot of time searching or to start reading tons of debates about the right solution and to very easily lose a day. It is important to be targeted.

I don't think being a good searcher is a substitute for gaining experience in an area. Teachers in my college like to make fun of people who for take home exams just find something and cut/paste it from the internet. Sometimes what they found is even relevant, but the people did not bother to interpret the material and generate an answer, they just cut and pasted the whole paragraph/article. So with programs do you end up with a mess if you don't have enough knowledge to judge which results are good and which are not. Often if searching for something new, my first step is Wikipedia and then maybe some of the sources to get a little bit of background. Once you have that it is much easier to search. If you really know nothing chances are you may not even know a correct answer. Even when I search for a specific error message, sometimes it is caused by several things....It takes a little knowledge on the area to narrow down the potential solutions. Also since Google came on the scene I have noticed the simple searches often work best. In the past you had to be more clever with keywords/+ and - operators... But with google quite often a simple question "How do I implement bubble sort" or even "bubble sort" will get you exactly what you want. In the older days you may have had to say bubble sort -bath or something....now there is often no need.

share|improve this answer
    
+1 for pointing out search engine improvement –  Aditya P Apr 11 '11 at 4:31
add comment

IMHO it's less important than ever.

As search and bandwidth costs decrease, the ability of the engines to provide you enough cues to eliminate search results allows you to be more lax since it eliminates the latency inherent in making the wrong search and opening the wrong value.

Google instant (and the equivalents on other search engines) let you narrow down on a search much faster since you can see multiple results. The "see a preview of a page without clicking" allows you to avoid spending time opening a wrong reslt. The ability to block certain sites allows you to block crap.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.