More importantly, learn what you're motivated to learn. Don't try to learn the things you "should" learn, because you probably won't be able to do it until you want to learn them.
Bah...there are many things you "should" learn while not being necessarily motivated to do so. By persevering and mastering them, you'll often reap great rewards.
We shy away from challenging, intimidating tasks on a psychological level by nature. Fighting through this is one of the few things that keeps us moving forward. If you're unmotivated to learn something but you really "should", I suggest you find a way to become motivated.
You know, though I agree, I think this is a POV issue. Some people believe one side and merely understand the other.
Consider a person who both wants to be a doctor, because they admire the direct nature of a doctors work, but they don't enjoy people themselves. And, also wants to be an engineer because they find it all more interesting and valuable, but they never particularly liked math. Depending on the person one choice will be more desirable and will be easier to learn motivation for.
I have found the hardest part of self-learning to be finding peers and mentors, but I live in a technological wasteland.
The internet has made it easier, but it's not the same. When I socialize with friends, they don't care to talk about programming. In fact, they make fun of me.
I've found StackOverflow to be extremely helpful when learning about programming. It fills in the gaps and complements textbooks, API documentation, and building stuff on your own nicely. Many times I've even answered my own question before pressing "Post Your Question".
I have found the hardest part of self-learning to be finding peers and mentors, and I work in a software mecca. When I have lunch with colleagues, they don't care to talk about programming. In fact, they make fun of me.
I think there may be a selection effect where many of those who are really hardcore are too busy doing to socialize. Besides that, it can be hard to communicate with others about programming because there is so much disagreement about how to do it "right". (Not that there isn't also agreement.)
#haskell. I go there to ask math and compsci questions as well as stuff on Haskell itself. Sorry for not being the actual person you addressed the question to but #haskell is a really great channel, I didn't want you to miss out.
Most user groups that I know of are purely for "networking" or to push for a sale of the latest book. But sure- a meetup like the one for clojure in bay area/NY might be enlightening.
This one is deceptively important. I spent several years self-learning actuarial science. I had a solid statistics and math background, but incorrectly marginalized the business aspects as being simple. I'm also introverted and stubbornly independent and didn't recognize what I didn't know. If I had more aggressively sought out peers earlier, I would have gotten further.
I'm going against my nature and meeting with a friend weekly to review queries for a SQL class we're both taking. Just talking with him and catching each other's mistakes has been worth as much as my O'Reilly book.
"The longest path is the shortest and the shortest path is the longest"
back when i was in school and onwards in the academic world, it was always said aloud that the quicker you grasp, the intelligent you were. A lot of students(i perceive - even now) were in rush to prove that they understood - many a times getting to the end of the book before understanding the basics. The momentary appalaud of "well said" and "hurray!" turned out to be a disease - a disease of skimming thru and finding the answers. This got into an habbit and now well embedded in my approach to even outside books. 20 years (outside school) and still counting on the skimming the book[most recently, I picked up a Math book (Intro to Analysis- as suggested Brad's earlier post)]. Struggling thru is a small part of the battle; mind plays the depression game while I try to search for a notation (the greek for complement of a set), while I don't give in as I used to, nowadays it plays the second game of age-"35 years and you don't know 'xyz'!". So yes, my the shortest path has been so long that I have not been able to put an end to it. </end-self-humiliation>
"avoid isolation"
would anyone suggest how to get by this? I work in the enterprise world, where the likes are 9-5/fix-the-bug-save-my-arse. I haven't met anyone whom I could ask about a notation or even discuss about this. I am shy to meet people (read- fearful).few people I did try to ask usually have the repulsive smirky grin. I looked for user groups in the local area (seattle-at present), but didn't find any. It would be awesome if someone tells me this proof of A-intersection-B-intersection-C is going to help in XYZ.
A lot of students(i perceive - even now) were in rush to prove that they understood - many a times getting to the end of the book before understanding the basics.
There is a whole book--which is very readable but should not be rushed through--about why learners think this way.
> few people I did try to ask usually have the repulsive smirky grin.
Many people in office jobs are like this. Brute force search till you find helpful and intelligent people who are not insecure and might actually be fun. You never need to turn to the jerks after that!
Tip for building eigencourses: I have found, through lots of trial and error, that nothing beats a math book with worked solutions to the exercises at the back of the book. The kind of immediate feedback that you get from comparing two solutions is really helpful and cuts down the time you need to internalize concepts.
It's true, but as you go on, it gets much harder to find books with worked solutions. Sometimes, authors inline examples in the text which almost suffice.
I've forgotten where I read this, but read the questions/problems AND attempt to solve them before even reading the chapter. You will learn the material better.
This is true. Part of the reason I think is that it puts the main ideas to the forefront so when you read the chapter you actually know what to look for.
Good article, I especially liked the quote: "Avoid the dualistic mistakes of technical execution without intuition, and intuition without technical execution.".
Personally, I feel that if you don't have an intuition for something you don't quite understand it -- it's still a a jumble of memorized knowledge.
Separately, I've started to realize the term "self-learning" is a pet peeve of mine. You can't teach someone; you can present, and they can learn. It's like having a word like "self-exercise" -- a coach/teacher can only show you what to do, not do it for you. In this case, "self-learning" means learning in the absence of a structured environment/coach, and the goal is to find or create your own.
Points to add.
1. What your learning should be of interest to you.
2. Learning material for technical stuff should have ton of examples[I think most people have strong inductive reasoning]. Always, remember when it comes to learning that you have proven that you can learn but the material/ resource you are trying to learn from hasnt proven it can teach.
This is an increasingly murky notion to me re: the web.
At any other time in history [1] sitting alone in your room reading something would have been a solitary task without question. There was a social component insofar as you were interacting with an author, but since that's one-way communication (read-only medium) it was still clearly distinct from social activities.
Fast forward to now when the thing your reading and writing is near-instantaneous updates to/from other reader-writers like you and this phenomenon is looking sufficiently different from traditional at-home reading as to defy most meaningful distinctions between introverted and extroverted activity. "But that's only text, you're not talking to people and seeing them like in real life." C'mon, I'm in an ambient Skype call with my girlfriend right now. We leave the thing on for hours at a time - yes, it's a way to cope with long-distance but also interesting because of how similar it really is to hanging out in the same room. "But you still can't feel or taste each other." No rebuttal... (and I'm still waiting on that Linux driver for my smell-o-vision).
[1] Although it's so easy to think that your moment in history is unique. There are at least definite parallels between what's happening now with the web and past revolutions in publishing and communications, including the printing press, telephone, radio and television.
I don't agree with all points, however, the first one is so true.
By understanding the basics, it gives you the ability to understand the rest so much easier.
You can also easily seek help from others because they know you've taken the time to understand the basic and aren't searching for a quick-and-dirty answer to your problem.
It also help to motivate yourself since you know that even thought you haven't mastered everything, you've mastered something and that's really important. It's a bit like building a small system incrementally.. even if it sucks, the first version gives a huge momentum to the overall project.