Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"...a smart person eager to learn is a breeze compared to teaching problem solving to someone who memorized the reference manual."

I would guess that there is actually significant overlap between these two groups.



Not really.

Memorising the manual is the strategy of a surface learner. Surface learners can make pretty good PHP programmers, but they'll struggle with, say, passing Javascript closures.

A deep learner will look for the underlying principles and abstractions. They can quickly get an overview that, even when it's fuzzy, is still accurate enough for them to know where the gaps in their knowledge are, so they can fill those gaps quickly when they need to. They're like Mendeleev with his first periodic table. He didn't need somebody to show him a sample of gallium to know that it existed: he could inferred its presence and properties from the overall structure of the system.

Of course, a really advanced programmer will have done both. They will know and understand everything. But those guys are few and far between.


What I mean is that people who enjoy programming probably tend to be smart. I haven't done any statistical surveys, but the motivational feedback loop for learning programming rewards intelligence.


I doubt that. There's a lot of people going into programming because they think

a) IT is akin to playing computer games all day.

b) It's easy work in a climatized office with solid pay

c) The jobs are relatively secure and abundant.

I've seen many people go into IT that would much better have been employed elsewhere, so I think that we, as programmers are not more intelligent on average than the rest of the population. I might agree that people who enjoy programming have a knack for a certain type of intelligence and problem solving ability, but I don't think that programmers are limited to the group of people that enjoy programming.


You have a point. Sometimes, I forget that there are actually people out there who pursue careers where they know they won't enjoy the journey.


looks like the one part you said you might agree with in your very last sentence is 100% of the group that they were talking about: people who enjoy programming.


Actually, since I'm the author of the post they're referring to I can say that the group we're referring to is "programmers" or rather "people you'd hire as a programmer" which is a superset of "people who enjoy programming." Even if you only consider people who enjoy programming I'd be very careful about calling them "more intelligent". They're probably good solvers of a certain kind of logical puzzle, but intelligence encompasses much much more than that.


I haven't done any statistical surveys, in my undergrad years, I find math students are much smarter than the cs majors.


*presuming that you went to an undergraduate institution where the variance in student intelligence is large enough to detect an appreciable difference between the avg intelligence in these two majors.


Actually, I think he might have a point.

The phenomenon of the Computer Science graduate who can't write a FizzBuzz program, or even the post-graduate who can't write a simple recursive function, is well attested. But a Math student who can't handle a recursive definition is unlikely to make it through the first term.


> I would guess that there is actually significant overlap between these two groups.

I wouldn't. Smart people get bored sitting around memorizing things. They'd rather be thinking. Purely anecdotally, the smartest people I know rarely have encyclopedic knowledge of anything.


But thinking has the side effect of storing lots of stuff in your memory. So you can end up with encyclopedic knowledge of subjects that you've spent a lot of time thinking about. It just isn't knowledge that got stored by explicitly trying to "memorize" things (which means it's more reliable anyway, since it's knowledge that's connected to other things you know).


I store a lot of "I've read the solution for that problem somewhere while researching something else." I still can't recite the stdlib doc for any of the programming languages I work with. There's only so much stuff I can cram in my head and reference docs are fairly easy to look up.


I store a lot of "I've read the solution for that problem somewhere while researching something else."

Yes, this is more what I was thinking of as "encyclopedic knowledge" (which may not be what the parent post to mine meant by the term).


"encyclopedic knowledge" is usually meant to be "I can recite the cities phonebook by heart"


Not necessarily; an encyclopedia isn't just an unconnected catalogue of facts--at least, it's not supposed to be. An encyclopedia article about a given subject is supposed to show the subject as a connected whole; it will contain facts, but will also contain important relationships between the facts, general principles, theories that explain the facts, etc. If you have that kind of knowledge of a subject, you don't have to memorize all its facts, because you can easily get to them from the facts you do have memorized via one of many interconnections.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: