When self-teaching, almost all of us start at the same point. Where do I start? How do I “pick a language”? What do I focus on? I know I did.
I think when you’re learning as well, I think one of the hardest things getting up and running with programming is understanding your environment and your tools. And what’s fascinating to me is that a lot of beginner resources skip that part, where that’s the part where we lose 80% of people that try to learn how to code…
Dagger to the heart. The first time I remember being interested in code (past messing with some HTML) was in early high school. (For fun) I bought some giant C++ book (probably of the ‘for dummies’ variety), to self-teach. I remember being very frustrated, trying to get everything set up to even start going through the material. After awhile, I suppose I put it away and never picked it back up.
Through the years, I’ve gone through beginner tutorials and jumped around, trying to teach myself Ruby, Python… After getting through the problem of ‘what language to pick up’, or ‘where to start’, there’s a jump that has to happen from starting with a very supportive beginner resource, to culling through the rest of the internet. There’s a skill in finding things that are easy enough to grasp with effort, but hard enough to really challenge your learning. Essentially, I’m describing building a curriculum.
Ultimately, that’s one of the reasons I choose a bootcamp for this hard pivot in my life. To put aside outside distraction — not the least of which is drowning in everything the internet has to offer. A defined curriculum gives you a mindfully-designed structure to follow. You know what you’re looking at next. And after awhile, you have learned the skill that is self-directed learning.
As I’ve been learning, I’ve accumulated a giant bookmark library. Out of a desire to make these bookmarks more useful (for myself, and hopefully others), I’m going to try to slowly organize them into a resource page — starting with beginner resources. As I grow and mature as an engineer, this resource listing will grow and mature with me.
Particularly if you’ve found yourself frustrated trying to learn on your own, or are trying to prepare for a code bootcamp (MakerSquare or otherwise!), I hope this is helpful.