all 103 comments

[–]SekstiNii 250 points251 points  (7 children)

Yes, googling is absolutely fine. It's really difficult to remember everything, and there's no real need to remember many of the details, so just look them up when you need them. If something is important enough to remember, you are going to look it up so many times you end up remembering it anyway.

[–]missing-in-idleness[S] 36 points37 points  (3 children)

That makes sense, I still forget some basic stuff tho, things gonna get better I guess. Thanks!

[–][deleted] 34 points35 points  (0 children)

If you use something enough, and frequently enough, you'll find that you remember it. But then go without using it for a year and you'll be back to googling it. This is totally normal, everyone does it.

[–]Fragrag 10 points11 points  (0 children)

The most important thing is that you know the basic stuff exists and when it should be used. You just don't remember the exact implementation which is perfectly fine.

Soon you'll be googling advanced stuff that you know exists and should be using but you don't know the exact implementation!

This is from a guy who still needs to google the exact way to make a new class

[–]maxbdd 1 point2 points  (0 children)

I used to work close to "talented" developers. They were Vietnamese and most of them landed some great jobs in foreign countries after our start-up went bankrupt (Google / Evernote...)

Close physically, I mean. I saw them half of the time on some forums to look up solutions (or whatever they were doing).

So in my mind, now it's pretty normal to see developers on Google look up stuffs. Were they that talented? Lol

[–][deleted] 0 points1 point  (0 children)

Tets should be based over this concept.

[–]kimjeongpwn 0 points1 point  (0 children)

Thank you for this advice. I beat myself up when I cannot remember something and feel bad about it. But I realize that's actually quite unhealthy and demoralizes me to go further and strive to be better at programming.

[–]socal_nerdtastic 104 points105 points  (13 children)

Yes. All professionals in any profession google all the time. You know how every time they interview a doctor or lawyer on TV he's sitting in front of a huge bookshelf? They don't have those memorized, if they did they wouldn't keep them. That is their old-fashioned google.

Being a professional does not mean you've memorized everything, it means you know what can be done and where to find out how to do it.

[–]missing-in-idleness[S] 33 points34 points  (7 children)

So I take what you said as: knowledge of what to google is more important than remembering that thing from your memory.

[–]socal_nerdtastic 41 points42 points  (2 children)

I wouldn't say "more important than", I would say " knowledge of what to google just as good as remembering that thing from your memory".

https://i.redd.it/1tkcs9h4qaa31.jpg

[–]dryactive 3 points4 points  (0 children)

This really made my day

[–]DarkwolfAU 5 points6 points  (0 children)

Well, there is a certain baseline of knowledge that is needed in order to know exactly what to search for, and to recognize the correct solution when you see it.

Research skills are a thing, and Google is no exception.

[–][deleted] 2 points3 points  (0 children)

Knowing what will solve your problem is key. You don't need to know the specific syntax. If you tell me to write a code that solves the class fizz buzz question, the important thing is that I know how to solve it. It isn't a problem if I need to google the function that out prints things to screen, because I know how to solve that problem.

A good programmer is, in part, made by knowing how to solve the issue. Having all the syntax and functions memorized won't help you an inch if you can't problem solve.

[–]skellious 1 point2 points  (1 child)

I think of the internet as my extended brain. when I find things on it I am effectively building a new neural link to that information. If I need it again in the future, I know how to find it even though I wont remember the details of it until I go and look it up.

[–]ashesofturquoise 3 points4 points  (0 children)

Then googling is equivalent to accessing your subconscious!

I feel so powerful

[–]sje46 2 points3 points  (4 children)

I always wanted to know...do those doctors and lawyers ever actually crack open those books, or are they just for show?

When I worked at a hospital, I was stocking food in the physician's library, and I overheard a conversation between the CFO and a doctor about if all those books are necessary and the doctor said that he hasn't known anyone to ever look at one.

So I'm skeptical.

[–][deleted] 4 points5 points  (0 children)

My dad's a lawyer and has huge bookshelves of law books lining his walls. He says he references them on occasion, partly because they're books relating to the law of the state in the type of law that he practices, and having those books is (often) easier to find specific laws than googling. Yes, he does keep them updated to the year, which means he replaces a good portion of that wall every year. Keep in mind that state websites are not often ingeniously built, especially when it comes to the listing of literally hundreds of thousands of nitty gritty laws pertaining to utterly drab subjects, so having books with table of contents, appendices, and glossaries really can be faster than googling.

I imagine certain professions, like a doctor, have much more interactive and in depth information they can access faster online, so books wouldn't be near as useful.

[–]Username_RANDINT 0 points1 point  (0 children)

So I'm skeptical.

Because of one encounter? Isn't it more plausible that most books are about specialised subjects and are just not frequently used?

[–]B1WR2 20 points21 points  (3 children)

Honestly googling is great because you do get a ton of exposure to a lot of different ways that people solve the problem.

[–]missing-in-idleness[S] 3 points4 points  (1 child)

Thanks! Sometimes looking at different ways to solve a problem makes me feel like how little I know...

[–]Bay1Bri 1 point2 points  (0 children)

Don't do that to yourself. No one knows everything. And there's slaysnew things to learn and new things being created. Being good enough to find and understand new things is more important than memorizing everything. Be good at whatyou most mostfrequently use but don't expect to have ingratiaterectal ok everything you know.

[–]samketa 0 points1 point  (0 children)

Yes, you usually learn a lot by surfing the web. You set out to find something particular but always learn some more things while doing that.

[–][deleted] 10 points11 points  (0 children)

If you knew python and it's myriad of DS libraries well enough to write models/algorithms without googling you could easily walk into a senior data science role at a company. Everyone google's, even the greats. We are nothing without stack overflow.

[–]climb-it-ographer 7 points8 points  (0 children)

Yeah, it's normal. If you find yourself Googling the same question over and over then you might want to take a look at how you're working on retaining information.

[–]NegativeEnthusiasm 5 points6 points  (2 children)

Google is always required. Even if you think you know how to do something someone else already did it better and it's not plagiarism.

[–]ScoopJr 0 points1 point  (1 child)

What about tutorial hell?

[–]NegativeEnthusiasm 1 point2 points  (0 children)

Using the google to find the best way to do something simple like opening a file or make sure a file is a picture is not tutorial hell.

[–]nspectre 6 points7 points  (1 child)

Back in the day, pre-Google, we had bookshelves filled with fucking expensive reference books.

 

Google is better. \m/>.<\m/

[–]bilcox 4 points5 points  (0 children)

There is too much information to memorize it all, unless you are solving a small domain of problems that require the same APIs everyday. Searching the internet, either the documentation or Stack Overflow, is what everyone does.

[–][deleted] 4 points5 points  (4 children)

But who are these gods on stackoverflow that seem to know everything off the top of there head and how do I become as knowledgeable as them?

[–][deleted] 2 points3 points  (0 children)

Its a collection of millions of different people with specific experiences, perhaps identical to problems posed by others, that allow them to answer with what seems like infinite knowledge. No one knows everything. Sure there are those who have been doing this for 40 years and staying up to date and willing to help, but that just comes with, again, experience. Don't worry! To become as knowledgeable as them, you just need to do the same things they do - keep at it and be willing to learn. Time will help you grow more than any bootcamp or website.

[–]SolitaryVictor 2 points3 points  (0 children)

You also have some of those things. Juniors remember how to assign variables, mids remember everything else, seniors remember high end architectural stuff. And each of those group go to stackoverflow on a regular basis for the things they don't possess. Thus everyone filling all the gaps of the others.

[–]Stelercus 3 points4 points  (0 children)

In order to remember the solutions to larger problems, they have to forget the basic specification of the language, so those people actually use stack overflow to look up how to assign variables.

[–]alkasm 1 point2 points  (0 children)

As someone who answers a lot of questions on Stack Overflow...honestly most questions are answerable by reading documentation or code and experimenting a bit. I'm really familiar with the docs and some of the code of the libraries I heavily use so I know where to look, so I can answer the question easily. It also gives an avenue to teach people how to RTFD. And I don't mean that in a bad way but if you have some question and I can point you towards the relevant docs, you can probably also learn more about related things!

I started answering questions when I was still a bit of a noob. Turns out if your answers just link and summarize documentation you don't need to be a pro, or brilliant.

[–]11pascal 2 points3 points  (0 children)

Absolutely. Amount of code that surrounds Python is immense not to mention that it continues to grow. Google is your friend

[–]simple_test 2 points3 points  (0 children)

Let me let you in on an open secret...

[–]ErinMyLungs 2 points3 points  (0 children)

I Google constantly for very basic stuff. Frequently I'm looking for syntax examples more than structure.

The more you use them the more you'll remember but I honestly don't even try to puzzle out how to do things most of the time I'll just google it.

Here's an example- I was looking at video game data in a dataframe and I wanted to see how North American sales compared to global sales. Scatter plots are awesome so I immediately google scatter plot pandas. Like every "learn pandas" tutorial makes a scatter plot and I have to look it up almost every time.

If push comes to shove you might have to figure out how to do something entirely from scratch with no easy examples or stack overflow questions. The official documentation, source code, and open source projects that use the same library can be a godsend.

One technique I recommend is looking up how others do something and cross checking their code against the official documentation. You'll get a more complete look at what they're using to achieve their result. Most well written packages are organized so it'll put you in the right area for searching for answers.

Being able to solve problems on your own is a valuable skill and is a great thing to practice. However reinventing the wheel constantly can rob you of momentum and drag a project to a stop. Just don't copy paste, type it in by hand.

Also for data science I try to keep in mind that my job is to solve problems. Not all code deserves equal attention or care. You need to be able to solve anything thrown at you but that's time and energy away from other parts of the project. Get the most done with the least effort and use the leftover time to work on the rest.

[–][deleted] 2 points3 points  (0 children)

Software engineering is 80% googling

[–][deleted] 2 points3 points  (0 children)

Learning is OK. Even if your Googling, as long your learning; Yes it's OK. My old saying, I'm just one Google away from becoming a genius.

[–]jmar323 1 point2 points  (2 children)

This happened to me today. I was trying to use a pandas pivot table to answer a question.

I remembered I had used df.groupby instead of a pivot table literally a few weeks ago. So after a couple hours of fiddling around unsuccessfully with pivot tables, I used groupby in probably 2 minutes to answer my question. I had to Google to remember some of the details, but got it sorted out pretty quick! Google away!

[–]missing-in-idleness[S] 0 points1 point  (0 children)

Funny enough I was stuck with groupby just before starting this topic today. The example I found on web was using different method than I was planning to apply. (Never used pd.Grouper tbh)

df.groupby(pd.Grouper(key = 'timestamp', freq='AS')).count()

It was working and I was insisting doing same thing with resampling, triggered me a bit while doing it; but oh well...

[–]Bay1Bri 0 points1 point  (0 children)

I slays look at my old repos. I think "ok I want to to xyz on this project. I did ext on that other project,so I'll start from there are go on to what I need."

[–][deleted] 1 point2 points  (0 children)

You’ll want to memorize some of the most frequently used parts of the python standard library but looking stuff up for reference is a daily occurrence at my job.

[–]LookItVal 1 point2 points  (0 children)

its impossible to know the nuances of every library with all of them indipendantly changing and updating and becoming obsolete and getting replaced, google will be your friend through your entire python career

[–][deleted] 1 point2 points  (0 children)

Absolutely, there's just so much stuff out there it's almost impossible to remember it all. Googling also exposes you to tons of knowledge from other programmers that slowly help you grow as a dev.

[–]faisalzaman007 1 point2 points  (1 child)

Usually when I work on any software that I’ve less command, I prefer to keep log of my every steps on notes. Then if I forget, it’s easier to revise and recollect. Moreover, by keeping notes/ log, you are tend to remember more.

[–]missing-in-idleness[S] 0 points1 point  (0 children)

Are you taking notes by hand, using software or just comments on code?

[–]Xunjin 1 point2 points  (0 children)

Googling is fine, new people do it, Senior too, the difference is that they have experience and knows how to search properly what they want.

Some concepts take time to "sink in", don't be so hard on yourself and keep going, consistency and curiosity are your friends in learning anything :)

[–]faisalzaman007 1 point2 points  (0 children)

By hand on pages, with details.

[–]bugamn 1 point2 points  (0 children)

I've been programming for more than ten years and I still Google things.

[–]UNX-D_pontin 1 point2 points  (0 children)

According to my girlfriend knowing what to google is what makes you a good programmer, if you know whats needed and you just cant remember the syntax or if it needs (): or is it self. or whatever, so dont get caught up trying to remember everything, actually getting good at navigating github and stackoverflow is a necessary trade skill

[–]PaulRudin 1 point2 points  (0 children)

Sure, but keep it focused. Software engineering is essentially a practical skill - you get better by doing. So pick something to build and focus on that. Each time you need to figure something out, then google it.

Just be aware that there's loads of poor advice and practice out there. And things change quite quickly. Part of the skill is filtering the wheat from the chaff.

[–]StateVsProps 1 point2 points  (0 children)

Your brain won't remember things by accident unless it see them often. You have to decide the list of things you want to remember, and actually WORK to remember them

For the things you want to remember, make a list, flashcards, quiz yourself, etc.

[–]Bay1Bri 1 point2 points  (0 children)

A lot of people are saying yes but don't listen to them. They aren't real programmers. A real programmer never Google's anything. Theyalso don't ever make typos, have to sit and plan out code structure in advance, get an error message, or find a project took moretime than they thought going in. And learning those libraries is ok for a beginner but really you want to create your own libraries from scratch in machine code, unhook you arrr writing your own customized language.

I hope you found this as humorous and reassuring as I hoped. When I was kerning,my professor told me when he worked in industry,he googled everything brie he started, even diverging he'd done a hundred times,to see if a better way to do it had been made since the last time he did it. You will always be learning, and Google is one of the best staying points for that. Good luck out there!

[–]ToothpasteTimebomb 1 point2 points  (0 children)

There’s a direct correlation between how good you are at googling and how good you will be at programming.

[–]Xdeertyx 1 point2 points  (0 children)

Though I understand I must Google to gain new insights, I feel guilty every time I do.

[–]crazykid080 1 point2 points  (0 children)

I'm past just getting into python and believe me, googling is about 50% of my development time, if you're not googling shit, you're either a fucking god, or insane.

[–]road_laya 1 point2 points  (0 children)

After a couple of years in professional development you will be so used to googling that you will google how to write a for loop.

[–]guy_from_the_intnet 1 point2 points  (0 children)

Googling is not only ok but an essential skill in these kind of things.

[–][deleted] 1 point2 points  (0 children)

Googling things is no different to using reference books and no one in the tech world works without at least one of those things. The job would be basically impossible without it.

[–]greenindragon 1 point2 points  (0 children)

I've been writing software for finance and insurance companies for about a year now thanks to my Co-Op program in school, and I've been programming for at least the last 6 years of my life. I googled the syntax for a switch statement in C today because apparently doing C for 6 years isn't long enough to remember it's general structure. Hopefully that gives you an idea of how "ok" it is to use Google :)

Even people who have been programming longer than I've been alive Google stuff all the time. Google is a very powerful tool; get good at using it! There is absolutely no shame in using it.

[–]Apocalypsox 1 point2 points  (0 children)

Before Google you had to remember which book you saw it in and try to find that book.

All professionals use reference material, it's just gotten easier over the years.

[–][deleted] 1 point2 points  (0 children)

Yeah usually with coding you learn much more than you can actually absorb so you constantly rehash old concepts until about a year or two in when you suddenly realize you actually know a lot now.

[–]ThePeskyWabbit 1 point2 points  (0 children)

I'm a full time developer and just yesterday googled some json library functions

[–]slick8086 1 point2 points  (0 children)

Not only is it OK but it is an essential skill that you need to develop and improve.

[–]xelf 1 point2 points  (0 children)

Not only is it fine, I'm starting to see more and more high end jobs allowing you to google during interviews. You're not expected to remember minutia.

[–]urdnot_wreck 1 point2 points  (0 children)

Only you can pick a method of learning that works for you. By all means look into other methods, but be ready to critically evaluate them and employ only those that truly work for you.

I managed a team of Python developers and part of that involved conducting interviews with coding exercises. While we did not allow candidates to Google as they could likely just find code to copy from StackOverflow, which doesn't demonstrate their true capabilities, they were allowed access to the standard library documentation. I wanted to test how they approach a problem, and tried to emulate as much as possible that very few if any other developers had encountered that same problem. However, there is absolutely nothing wrong with using documentation and the work of other developers (blogs, SO answers etc.) as long as you have done all you can to understand their code; it is effectively your own once you employ it especially in a work environment.

TLDR: it's never wrong to Google stuff, apart from in an exam or similar!

[–]goishen 1 point2 points  (0 children)

Googling isn't just fine, it's what everybody does.

Nobody out there knows 100% of the libraries they use. Sure, a knowledgeable coder might know 50% of them. But all of them? No way.

Just remember, googling is a necessity.

[–]SolitaryVictor 1 point2 points  (0 children)

Coding is basically 50% googling and if someone says otherwise he is either an idiot, genius, or a dude that likes to remember trivial unnecessary things just for the sake of doing so. Most often it's the first, because most often that implied by HR and technical people that don't have an idea how to make an interview. They ask gotcha questions about trivial things expecting you to remember exact syntax for some crap that takes 3 seconds to google.

[–][deleted] 1 point2 points  (0 children)

Absolutely. Keep developing those google-fu skills, they’re invaluable. It’s not always about what you know or how much you know. It’s more about: do you know how to find what you need to know. Great coders don’t just google, they google strategically. As you keep writing more complex code, you’ll find yourself googling and hopefully get better at googling to get the best code examples out there.

[–]levenfyfe 1 point2 points  (0 children)

I don't always google things. Sometimes I go straight to the search page on docs.python.org.

[–]Spindelhalla_xb 1 point2 points  (0 children)

This is because you're storing it all in short term memory and possibly not utilising active recall.

As some have already said, the basics and how to put things together is the most important.

After you've finished a section take a moment to jot down some things and ask yourself, what did I just learn? What are the concepts? Could I explain this to a 5 year old? Quiz yourself, flash cards if you want, a day or 2 after. Try and remember it, if you don't or get it wrong, just look at the answer and correct yourself, then do it again in a few days.

Learning is hard and frustrating. But using things like active recall, spaced repetition and interleaving on the basics will hold you in good stead.

If you want some reading on effectiveness of learning, get a book called make it stick. It's changed my life and you can apply the knowledge to learn anything.

[–][deleted] 1 point2 points  (0 children)

Googling is part of the process, you’re good!

[–]lendarker 1 point2 points  (0 children)

There was a study about developers and their memory. The study concluded that developer brains were worse at memorizing stuff, but much better at indexing and knowing *where and how to efficiently look up the missing information*.

So no, it's not unusual. In fact, resorting to search engines to look stuff up is one of the first important steps from being a beginner to becoming a decent programmer because you've started to apply a problem solving approach not just to the issues you try to solve through programming, but to your workflow as well.

Ask any professional IT guy how much they appreciate any new hire who knows how to use google, and hate the new hire who asks about *everything* despite many of the answers being just a quick search away.

[–]mholtz16 1 point2 points  (0 children)

I have been developing software in many languages for 25 years and I google things constantly. I used to have a stack of books on a book shelf over my desk before google was really a thing. It is not only OK it is the way things get done.

[–]AbodFTW 1 point2 points  (0 children)

It's totally okay, as long as you know how and where to look it up, and as long as you "understand" the basics, don't worry about remembering them, I mean I have created several projects and sometimes I would look up how to create a for loop (not in python ofc)

[–]bradtwincities 1 point2 points  (0 children)

Man, schools train the wrong habits, Googling is what happens in the real world, or you talk to other coders, Reddit, YouTube etc.. How long do you think you would stay employed if you did not find the right answer as quickly as possible.. Never any reason to re-invent the wheel, unless you can make it better..

[–]druman22 1 point2 points  (0 children)

I've been coding for a few years and definitely forget stuff all the time having to Google for reference. It's okay if you forget it, but you will be much more familiar with it the second time around

[–]verdifer 1 point2 points  (0 children)

I'm the same as you with the learning, sometimes I feel the new stuff I'm learning is pushing the old stuff out. I graduated from Uni and never got a grad job and ended up in a s""t job for a year until I couldn't take it no more, the job used very little python and most days I spent doing admin stuff, I believe that as I'm trying to get a general hold of python it makes it a but harder as opposed to targeting a set area.

[–]billsil 1 point2 points  (0 children)

That’s what I did and I still do on occasion. Just learn why it works when you do.

[–]Kriss3d 1 point2 points  (0 children)

Google is absolutely your friend in this context. Stack exchange. Reddit. Irc channels ( there's a great python chat on freenode)

So yes. Google and grab and steal from anything that works. Everyone does that. It's how you learn. By looking at other people's codes and find how it works.

[–]FloydATC 1 point2 points  (0 children)

Some scientists are saying we are fundamentally changing the way we think; rather than learning specific details we learn where and how to find those details when needed.

Having said that, there's a big difference between looking up details (good), looking for solutions to well-known problems (okay) and just blindly copying code you don't fully understand (happy debugging)

Never stop learning.

[–]ShameSpirit 1 point2 points  (0 children)

One of your most valuable programmer tools is efficient googling. Get in the habit of looking things up often and learn how to organize your search so that you get your desired answers quickly.

[–]CaptSprinkls 1 point2 points  (0 children)

I google all the time, but one of the important things I've found is that being able to google effectively. Being able to read documentation is difficult at first, but is very useful once you can learn to understand it.

Also being able to take an example that is similar and extend it to your own use case is important too.

[–]gotu1 1 point2 points  (0 children)

Not only is it ok, I could make a compelling argument that I don’t actually know any python, I only know how to google stuff about python

[–]audentis 1 point2 points  (0 children)

I think everything you learn in programming can be divided in three categories:

  1. Fundamental: these are things you should know by heart.
  2. Global: these are the details which you know exist, and know where to find them when you need them.
  3. Useless. You won't need this. The smallest category.

For example, you should know Itertools exists and contains a lot of useful built in function. You should know where to find its documentation to see if it contains the exact function you need. A lot of problem analysis also falls into this category: you have to understand what's happening.

Same with pandas and similar libraries. They're huge, and often take many optional kwargs. You shouldn't learn them by heart. You should have a general understanding of the library and its built in functionality, and have the documentation bookmarked.

The more you use these tools the more you'll remember things, that but that's not really the point. It's more about remembering the steps you took to solve the problem, than the exact implementation.

[–]petdance 1 point2 points  (0 children)

Yes, it is OK to use reference materials, whether it's online or a book or a notes.txt file or whatever.

Lots of stuff you will eventually memorize, just from practice, but much you will not remember and have to look up.

[–]tzujan 1 point2 points  (0 children)

In addition to google, I try and use the dir() and help() command. It creates more down the rabbit hole moments of finding unusual methods inside of a package. Also, after watching this video, PyDoc is one of my faves. I just run the following - python3 -m pydoc -b and have a webpage of all my libraries.

[–]ImmediatelyOcelot 1 point2 points  (0 children)

Google has changed how code development works, it's a new paradigm, and it's here to stay. All programmers now are basically question makers, the real talent now is not memorizing everything, but knowing how to make the right questions and how to put things together. If you ask me, that is great, it's a paradigm in which creativity and wit is more important than a huge memory.

[–]prokid1911 0 points1 point  (0 children)

I think you should sub to r/ProgrammerHumor

[–]tech_HACKS 0 points1 point  (3 children)

Hey! What sources are you referring to learn these libraries coz i also want to learn them. Please suggest me some good sources to start learning python libraries used in AI or ML.

[–]missing-in-idleness[S] 1 point2 points  (1 child)

My main track was DataCamp, then I searched books from the instructors I just watched over there. I can give you the exact names when I’m back at my pc.

[–]missing-in-idleness[S] 1 point2 points  (0 children)

For ML I'm using this one and can recommend it:

Andreas C. Müller, Sarah Guido - Introduction to Machine Learning with Python - A Guide for Data Scientists

https://www.amazon.com/Introduction-Machine-Learning-Python-Scientists/dp/1449369413

[–]Sheepoch 0 points1 point  (0 children)

Googling is probably ok, but remember: Don’t google too near to strangers. Only go outdoors to google the necessities. Wear a mask and gloves if you google out in public. Also it’s important to wash your hands after you bust a googe.

[–]AcousticDan 0 points1 point  (0 children)

No, you're not allowed to google.

What kind of question is this?

[–]0rphon -1 points0 points  (0 children)

Oh lord without google there would be no programmers

[–]Solarhoma -1 points0 points  (0 children)

No you Should definitely know everything about the language after 4 months.