4 ms·
This is basically the Stack Overflow debate that comes up every few weeks on HN, but I think it's a false dichotomy. The implication is that "real developers"
by mwfunk 10y ago
This is basically the Stack Overflow debate that comes up every few weeks on HN, but I think it's a false dichotomy.
The implication is that "real developers" don't need SO/Google/etc., and that our profession is plagued by incompetents who somehow get through the day by copy/pasting code they found on the Internet without understanding how it works.
Thing is, SO/Google/etc. are critical resources for most developers. Not using the web as a research tool when appropriate is incredibly inefficient. No one knows everything, and no one can know everything. Those resources don't just help us find solutions for our problems, they're critical to learning.
I think the to-Google-or-not-to-Google debates are really people bothered by other people who copy/paste things from SO without understanding the code they are pasting. You should be getting 2 things from that exercise: you find the solution to your problem, and you learn how it solves similar problems in the future.
This isn't just for your benefit, it's for the benefit of the other people you work with, and for the benefit of the shared code base if there is one. Especially if it's a large, complicated code base that will live on long after you move on to other things.
Everyone does the first part (using the solution), and almost everyone does the second part (understanding the solution) to one degree or another. However, there are a few people who will not only deny any responsibility for the second part, but will actually be proud that they're not "wasting time" by internalizing what they just did. Instead they're moving on to the next problem to solve that they don't understand. They're optimizing for quantity over quality of output, and for the appearance of efficiency over actual efficiency.
So we all have a That Guy in mind when we feel guilty about finding solutions on SO ("I don't wanna be That Guy, but this solves my problem so I should probably use it..."). We may also have worked with one or more That Guys on a shared codebase and gotten burned by it. It sucks to inherit code from That Guy, because That Guy optimizes for scripted demos and perceived functionality.
TL;DR I propose that the eternal debate about whether or not Google and SO ruined software engineering is really just one group of people complaining about That Guy, and another group of people who think they're being unfairly accused of being That Guy. The fire is fueled by a small number of actual That Guys sprinkled throughout the industry, but they are usually not participants in these debates.