> Why would I care about the difference between a list and a hash table.
> A lot of people tend to assume hostile bias against knowledge simply because they've been successful without it for a while.
I don't necessarily see it like that. My opinion is more along these lines:
> Why would I care TO STORE IN LONG TERM MEMORY the difference between a list and a hash table.
There are plenty of things I know I know, things I know I don't know and things I don't know I don't know. The vast majority of my programming knowledge resides in short-term memory; in six months ask me about Linked Lists vs Array Lists and I will have forgotten the primary differences (fast iterate vs fast insert or something like that)... I only vaguely know that today because I was researching something.
The biggest challenge I see as a self-taught developer is I see everything on equal footing. That means the basics (map, set, list) and the trivial (apache config settings, tomcat's web.xml) tend to reside in the same heap and if I don't think about one element for awhile it tends to get GC'ed. Since all of my knowledge came from 14 years of on-the-job-training nothing was given particular precedence, everything was important to the task at hand.
I believe that's really what frustrates self-taught developers. It isn't that I don't know the answer, or that I'm hostile to learning new things (far from it) it is simply that I never burned these fundamentals into my permament memory. I've tried, but I tend to miss bits and pieces, for example, I needed to refresh myself on autoboxing just a few weeks ago because I just haven't _thought_ about it.
Comments
What stops a self taught developer from also 'self teaching' the fundamentals?
Just read through the many comments here the gist of which is: Why would I care about the difference between a list and a hash table.
A lot of people tend to assume hostile bias against knowledge simply because they've been successful without it for a while.
> Why would I care about the difference between a list and a hash table.
> A lot of people tend to assume hostile bias against knowledge simply because they've been successful without it for a while.
I don't necessarily see it like that. My opinion is more along these lines:
> Why would I care TO STORE IN LONG TERM MEMORY the difference between a list and a hash table.
There are plenty of things I know I know, things I know I don't know and things I don't know I don't know. The vast majority of my programming knowledge resides in short-term memory; in six months ask me about Linked Lists vs Array Lists and I will have forgotten the primary differences (fast iterate vs fast insert or something like that)... I only vaguely know that today because I was researching something.
The biggest challenge I see as a self-taught developer is I see everything on equal footing. That means the basics (map, set, list) and the trivial (apache config settings, tomcat's web.xml) tend to reside in the same heap and if I don't think about one element for awhile it tends to get GC'ed. Since all of my knowledge came from 14 years of on-the-job-training nothing was given particular precedence, everything was important to the task at hand.
I believe that's really what frustrates self-taught developers. It isn't that I don't know the answer, or that I'm hostile to learning new things (far from it) it is simply that I never burned these fundamentals into my permament memory. I've tried, but I tend to miss bits and pieces, for example, I needed to refresh myself on autoboxing just a few weeks ago because I just haven't _thought_ about it.