No, but nice article, there are some things I absolutely recognize from my own journey of learning to program. I especially went overboard with the "read all the things" mentality and now know a lot from going down the rabbit hole time and time again. You do have to have the free time for it though. Furthermore I'd like to add as something I found really hard to get into is just trying things. Just get the general idea on screen and work to get it to compile, then refactor until satisfied and work out the last kinks. As I would categorize myself as being in the 'perfectionist' category I found it really hard for quite some time (years) to work experimentally like this.
OMG! THIS!
I don't think I couple have pulled it off if I didn't do this in college/summers when I had all that free time. It would have been impossible otherwise. That might be a valid criticism of my post... it presumes people have a lot of time.
> As I would categorize myself as being in the 'perfectionist' category I found it really hard for quite some time (years) to work experimentally like this.
Honestly, I think all great programmers are in that category. The bad ones start businesses and then hire great programmers to fix their shitty code.
> The trick here is for it to feel uncomfortable. This is rather painful, but that's how it should be. Coding follows the 80/20 rule. You spend 80% of your time on 20% of your code or 20% of what you're learning. Getting using to this uncomfortable feeling and overcoming it is key.
This is the biggest takeaway for me. Often I think I will progress linearly which leads to frustration and abandonment.
> Basically, getting stuck for more than an hour on something is almost always a waste of time.
I will beg to disagree with you on this, asking for help too soon actually lead to superficial learning.
> Recognized the difference between deep diving and hacking. Pick accordingly.
Great advise. I am guilty of this one as well. I have spend whole Saturday on AWS configuring and reconfiguring stuff which I cloud have left it at a good enough in couple of hours.
edit: typo
> I will beg to disagree with you on this, asking for help too soon actually lead to superficial learning.
Good to know someone disagrees with me on this! Make all those hours I spent on stupid stuff not seem worthless. You are probably right that there's also a balance here between superficial learning and just getting unstuck. I still do believe that spending too much time on something is probably a waste of time!
> I have spend whole Saturday on AWS configuring and reconfiguring stuff which I cloud have left it a good enough in couple of hours.
Guilty as well!
I am a self-learner and I am attempting to self-learn programming lately. I would not send anyone to these two types of sites which you are recommending right out of the gate. There is no chance anyone would learn programming via HN. And a newbie commenting at Stack is going to get a rude awakening (which would then lead to morale loss).
Also, once you know EVERYONE gets hated on when posting a question in SO (even very experienced programmers), you can probably handle someone hating on your stupid question.
People hate on the comments section on HN, but the silence is much worse.