
Stackoverflow Makes Hackers Lazy - xnerdr
http://nerdr.com/stackoverflow-makes-hackers-lazy/
======
Jach
Uh, no. If your problem is so trivial that it can easily be answered by SO and
then you're done, you're not building anything complicated and in fact it
should be easy to build and you shouldn't get any hacker cred. Similarly with
how "Googleable" your answer is. This post is on the verge of being in the
same category as those lamenting the niceness of Google or an online
dictionary because in the old days with physical books they'd frequently
stumble on something neat on the way to whatever it was they were looking for
in the first place.

I suppose (for a contrived example) back in the day making a POST request from
a browser and handling it with PHP/Perl/etc. was a task worthy of hacker cred
because there wasn't any documentation on how to do it, whereas now it's
example 1.4 on any decent PHP introduction, and it's something that can be
easily answered by SO users. Whereas if you're trying to build an FFP Machine,
there isn't even a wiki page.

Lastly, you can always force yourself not to use SO. I use SO as if launching
a background process--it helps me clarify what my problem is (sometimes I
don't even post after that), and after I post I can keep searching/trying
instead of "sipping tea" and SO will notify me of any new answers.

------
hebejebelus
In my first year of college, learning games development, I was told repeatedly
that a lazy programmer is a good programmer. Why do work when someone else has
done it already? (It was meant in terms of code re-use, but that transfers
nicely to this. After all, I'm only re-using someone else's code)

In my opinion, it's similar to the difference between depth-first and breadth-
first. You can spend a few weeks learning the ins and outs of something and
become and expert at it, or you can do several things in the same time (using
the jigsaw method - just find the pieces and put them together) and learn
small parts of each.

There're merits to both sides. [Shameless plugging going on now] For example,
for a html5 game engine I've been working on[0], we spent several weeks just
learning the underlying frameworks, then looking into other game engines and
how they're architected, etc. It's still not finished - we ran into college
time and put it on hold. However, I've since gotten a job because of the
skills I picked up through working on the engine.

However, for a geolocation alarm app [1] that I decided to work up, I used the
jigsaw method. I finished it in a few days. I learned a couple of things, but
nothing major. A very small addition to my skillset. On the other hand, it was
enjoyable to do, and it flled a hole that I had come across.

So, I suppose, deciding on which method to use is just a matter of context.
Two-day deadline? Stackoverflow. Six weeks and lots of free time? Actually
learn it and add it to your CV.

[0] <http://flax.ie> [1] <http://flax.ie/an-app-in-under-five-hours/>

------
Swizec
This guy is suffering from the "I work on easy stuff" problem. I used to be
like him, thought there was nothing new to learn, if something feels a bit
strange, just ask someone.

But what I've actually come to realize is this: StackOverflow simply does
_not_ answer any of my questions. I probably suck at asking questions, but by
the time I find even a half decent solution to my problem on stackoverflow,
I've already gotten through it using the old school way.

I'm probably using stackoverflow all wrong ... then again, I find it an
invaluable when I'm learning a new language and have a bunch of low-level
questions. In fact, I don't even have to answer them, they're already answered
and I just have to find them.

------
lyudmil
"Copy/paste code from answer."

Copy/pasting is one of the most obvious code smells. I don't do it, you should
never do it, and anyone who does should rightly be considered at best
irresponsible and at worst incompetent.

The first reason is obvious - you need to understand every line of code you
check in. I won't beat a dead horse here.

There is a more subtle point, however. Every programmer writes in their own
style and it's important that your code has a consistent style (yours). This
doesn't just include the cosmetic aspects (e.g. indentation), but also design
tendencies, word choice, etc. I've never seen a piece of code someone else has
written and thought "Wow, that's _exactly_ how I would've done it." If you're
willing to tolerate a completely different style in your source, then I
question the degree to which you care about your craft, and consequently all
of your work the way I would an author's if I found 5 pages written by someone
else in their book.

So, please, read the code, understand why it works, figure out how you would
do it, then code _that_ up.

------
AlexC04
I strongly disagree with this. I think the author is projecting his worldview
onto Stack. Just like virtually everything else in education, you only get out
what you put in. If you use it in a lazy way, then it makes you lazy but if
you code until you're stuck, post a question, code more - sometimes getting
the answer yourself, other times accepting an answer then you can learn
plenty.

------
chrislomax
My stats - 2 questions in 1.5 years.

I only resort to question sites when I am at the end of my tether with a
project. I enjoy knowing what the correct procedure is.

It's like 3rd party plug-ins or pre written code, I would simply not put it in
my project unless I knew exactly what it does.

I think this post is generalising their own experiences, it sounds to me like
no progress has been made in their programming skills since they used to do it
"the old way". I used to use experts exchange all the time when I was learning
to code, I occasionally come across posts now when I am trying to sort a
problem.

It sounds like the authors lack of understanding of how the language works
means they continue to post the most trivial questions to question sites.

------
teuobk
No, Stackoverflow makes hackers more efficient.

Besides, if you want the "old" way, don't post your question; instead, just
search through SO until you find where somebody else has already asked almost
the same thing.

------
tzury
In the past, they said the same thing about Google/Wikipedia/The internet in
general, that it make us dumbs, etc. But it is not quite true, as we are now
able to use our newly free resources (time, mind, etc) for other useful things
thanks to the assistance we get from those services.

Hacking in particular, you now have more time to write more tests of your
code, as you got things done earlier. you are now have time to add more
features, and you are now have more time to learn new technology, language
etc.

Same as the human memory is not weaker than it was 15 years ago, although, 15
years ago, every human being was able to dial out tens of numbers without
looking in the phone book, while today, we simply type the name or speed dial
it from the mobile device. We do remember less phone numbers, yet, those
"cells" in the brain are used for other things.

------
unwind
I've been on Stack Overflow for 2.5 years, and my current stats are: Questions
asked: 4, answers posted: 1,909 (including to one of my own questions).

So, I guess that makes me still a hacker, then? Awesome! :)

My point is: not everyone uses Stack Overflow in the same way. I find it much
much harder to come up with decent questions, than answering stuff. I'm quite
the karma-junkie (the design works) too, and I think I'm not alone in that.

I think the projects "killed" by SO in the fashion described here were maybe
not very relevant to start with. There's nothing preventing you from learning
on your own, and a single answer on SO is rarely wide or deep enough to remove
the need to study and learn for yourself.

------
regularfry
It's easy enough to replace "Make tea" with "Answer someone else's question."
That counteracts the effect quite nicely. [edit: my stats, for what they're
worth: 8 questions, 54 answers]

------
JCB_K
There's apparently a balance between questions and answers, seeing that most
answers on SO get answered. If that wasn't the case, I would feel like I
_need_ to answer questions if I ask them, to give something back to the
community, but right now it's apparently not neccesary.

Also, the answers on SO are usually of such a high quality, that you learn a
lot in the process. Often an answer will push me in another direction than I
was going, because someone gave a better way to do something.

------
desigooner
If anything, it reduces the amount of time spent by someone to find a solution
to their problems/issues/quirks and enables them to move on faster and work
more efficiently.

I rarely comment on such opinion pieces precisely because of them being
someone else's opinion and nothing else. It might be their pet peeve or it
might be their path to salvation. That need not be the case for me. To each to
their own.

------
duopixel
When I have a programming problem, often the answer comes to me _while_
writing the question on Stack Overflow.

Trying to explain your code to others forces you to simplify it by removing
anything that is not relevant to the problem itself. The problem often becomes
head-smacking clear once you remove all the cruft.

~~~
nametoremember
Yep, this is my experience too. Forming a question that can be approached by
others is pretty hard and makes you think.

------
hsmyers
Nonsense! Do you refuse to use books? Not avail yourself of libraries? Don’t
wander through (pick your favorite department) the halls of your academic
situation? Of course not, that would be majorly stupid. This is no different—
in fact what is needed (possible weekend idea coming up here) is something to
automate the process… Information is like butterflies— go net yourself some.

------
zwieback
I agree with everyone who said "you're working on stuff that's too easy" but
got me thinking that it would be interesting to put together a project made up
entirely of cut and pasted fragments from SO. Probably not really possible
since there's always some glue or editing needed so there's always at least
some thinking involved.

------
becomevocal
You always need a foundation of knowledge. It's not lazy at all to search for,
find, and implement the answer. A lot of the more helpful Stack answers are
really just pointers anyway.

Also, eventually with any complex problem you're going to (quickly) get to the
point where some quick research is not going to work.

------
FreshCode
This is the same argument as "the Internet is bad because it makes us lazy."

That aside, any blogger that _tries_ to convey their opinion by starting with
"Don't get me wrong," should be dragged online and shot. But not before asking
about the appropriate type of buckshot on the Guns SE.

------
wccrawford
Hackers -should- be lazy. They should never want to do work that's already
been done. They should be working on new problems that haven't already been
solved, or improving existing solutions.

------
stefs
before i ask a question, i try to find out if someone else already answered a
similar question. the first few posts that come up rarely produce insta-fixes
to my problem, but deal with different problems. hence: learning effect - by
skimming over it, i learn (something) about a problem that i don't have right
now.

------
kolinko
Hackers should be lazy, so I guess it's all right?

~~~
Jach
As Larry Wall says, the three programming virtues are laziness, impatience,
and hubris.

