First post: hello Tildeans! In fairness, the title question no doubt applies to those on traditional courses/paths too - such is software. Anyway -- in my experience, reading technical material...
First post: hello Tildeans!
In fairness, the title question no doubt applies to those on traditional courses/paths too - such is software.
Anyway -- in my experience, reading technical material which is too advanced is without a doubt the most intellectually confusing, emotionally damaging, and personally rewarding part of learning about software development. How about you?
I started basically from scratch last September without any knowledge about programming or Linux except a very brief stint in 2010. I'm a somewhat disorganised person (to say the least), and my learning habits have reflected that: I've followed my nose and impulse, reading pretty much whatever I've felt like. But I've ended up with a presumably ridiculous ratio of hours reading about code vs hours actually coding.
I'm a lazy person, so I'd rather sit and struggle with something I am definitely not ready to understand than go sit in front of a REPL, working from the ABCs til I can do the A-Zs. But the longer I look into things, and the more I play, the more I realise how much coding is like an instrument -- you really do have to just sit down and practice your damn scales! My experiences also support the argument for that 'T-shape' style of mastery (learn one thing very well, then branch). 20-odd Project Euler problems in a week or two has taught me far more than several months half-reading or half-listening to online material.
(Though, I think my 'inverse-T' approach simply has it's own set of trade-offs, rather than being plainly weaker, but that's for another discussion...)
The most ridiculous thing about this field is that there is no end to things you've never heard of: and I hate not having heard of things. My usual style when getting into a new obsession is to read very widely, but it feels like this is at best wasted effort here, if not actively counter-productive. It takes just a few clicks through HackerNews (or say, a read of some of the comments on Systems Programming topics) to find a paragraph that is entirely impenetrable to me. Man, that pisses me off. I think maybe as an ego-defense thing, I've always tried to get a 'gist' of the conversation or topic, but I reckon now this probably just breeds half-formed misunderstandings at best (Alexander Pope, "a little learning is a dangerous thing" etc etc).
Over the past couple months I've made far more visible progress than in any before, and I think a large part of that is learning how to admit when I am completely unable to access some sentences written in English, and how that's totally fine. My path is a lot clearer, and a visceral notion of sub-goals and stages of learning is a really nice thing to have. It's very relaxing to skim a blog post that goes completely over my head and think 'NBD'.
So, what are your experiences? Blocked by hubris/a short attention span like me? Or perhaps the opposite problem - finding you could grasp way more than you gave yourself credit for, after sticking too long with what you already knew? (These questions definitely intersect with things like perfectionism and imposter syndrome.)
I'm really curious to hear how you've dealt with things you feel you 'should' understand -- or how you manage the sheer volume of potentially-useful information out there (RSS, Pocket, something else?). Thanks for reading.