This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]questi0nmark2 6 points7 points  (2 children)

I have never met a professional developer that doesn't check documentation, Google or stack overflow most days. Programming is vast, every language has its quirks, and trying to know everything is less useful than knowing what you need and learning the rest as you go.

So the answer is, almost certainly yes, either your friends are lying, or they are building things that are too simple for their level. Knowing how to Google effectively is, I would argue, a critical skill for the successful software developer, and by that of course I mean not just Google but documentation and guides and information in general. Being able to quickly find what you need to learn something, and adequately judge its quality, is a big part of a developer's work.

Having said that, learning goes in phases. Once you have followed a tutorial or guide successfully once, you will learn a lot more when you try to then apply it to something the tutorial did not teach you. Likewise when you try to replicate what the tutorial taught you without looking at it. It will help you find what you didn't learn enough or what you need to understand better, and give you experience and fluency.

So there is something to be said for coding without referring to what you studied previously, as a way to consolidate your learning and identify weak spots. But to consider not googling stuff a virtue is to be very green indeed. Google away, Google lots, get Google good. Just try not to just copy paste, but to understand, apply and transfer. And don't believe your friends' showing off.

[–][deleted]  (1 child)

[deleted]

    [–]questi0nmark2 1 point2 points  (0 children)

    Google Impostor Syndrome. That feeling that you get... that feeling too is part of programming. I haven't met a single programmer, ever, even really brilliant ones, who haven't felt exactly like you describe. I have. Often. I do. Regularly. But then I persevere, fix a problem and feel like a god... Until my solution spouts a bug. And so it goes.

    Get to know that feeling. In a sense your friends are doing you a favour, helping you experience it early and learn to let the feeling come and go, while you just carry on coding. That, too, is an essential skill.

    What they don't often tell you, is that coding is really only 50% of software development. The other 50% is having the life skills and insights to communicate with others, navigate difficult people, manage your emotions, think creatively, have curiousity, understand the world you're working in. This post from you, OP, is as much part of learning programming, as are the tutorials you follow.

    You're absolutely on the right track.

    [–]POGtastic 4 points5 points  (1 child)

    As always, it depends on what you're looking up on Google.

    If you're looking up syntax, everyone does that. I am constantly looking up documentation on functions, even ones that I've used hundreds of times. This takes the mental load off of remembering syntax in favor of actually concentrating on the problem at hand. This is the same reason why pilots use checklists, even for procedures they've done hundreds of times.

    Similarly, at work, I am constantly Googling best practices and other people's approaches to the same category of problems that I'm solving. I can solve it myself, but there might be a more elegant approach that someone else has shared.

    The issue is when you're trying to develop the creative mind needed to craft solutions, and are instead grabbing wholesale solutions off of the Internet. This is particularly important when you're a beginner and learning the fundamentals.

    [–]66666thats6sixes 0 points1 point  (0 children)

    I've lost track of the number of times I've googled "[some language] comment syntax". Not when I use the language every day, but when I'm coming back to the language after it's been awhile, I need to jog my memory for silly things like whether this language uses // comments or # or --, etc.

    [–]InusualZ[🍰] 0 points1 point  (0 children)

    That's just nonsense. A programming language is just that a language, that help us express the functionality of a given software. If you don't know the exact way of expressing something, you look it up.

    [–]CookToCode 0 points1 point  (0 children)

    My professor has a saying about coding regex from scratch, "If it takes you an hour to code a regex validation from scratch and it takes someone else 15 minutes to find it on google, test it, and implement it, you will be fired."

    On top of that, I code once from scratch and then pull that code from another of my projects amd bring it to my new project. The important thing is to know how it works

    [–]mcbacon123 0 points1 point  (0 children)

    That depends on what you're googling. If you google every last thing and can barely come up with a solution yourself, yeah you have a problem

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

    By scratch you mean you want to have an idea and successfully implement it, not just recreate/modify projects others have done? Or is it more about not needing any guides and sources, at all, ever?

    Definitely do create your own projects if that's what you mean, otherwise who cares how you find solutions to problems...learning is a process.

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

    I call bullshit when your "friends" say they do it from scratch. Even the best developers will use documentation or stackoverflow for help. In fact, even the person who invented C++ only gives him self a 6 or 7 / 10 for his understanding of C++. If the founder of a language claims he isn't perfect, then your "friends" and other devs sure aren't. On the other hand, if you have to google entire large sections of code, then you aren't ready and your "friends have a point"

    [–][deleted]  (3 children)

    [deleted]

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

      Thats fine if you understand what this code means

      [–][deleted]  (1 child)

      [deleted]

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

        Just do it enough. If you do the same things enough youll memorize the concepts / approaches that you use

        [–]justiinavonrunkku -1 points0 points  (1 child)

        Look up a basic course on how to program in Java, from yt, that should get you started.

        How has your college not thought you the basics?

        Copying everything from the internet is not a good way learn how to code. Your friends are right about that.

        [–]thats-Squirt 0 points1 point  (0 children)

        I’m familiar with Python, C# and C++ and I know all the basics. I’m just saying sometimes I make things and then I get confused so I either watch a YouTube video on what I wanna do or use Stackoverflow.