DEV Community

Safia Abdalla
Safia Abdalla

Posted on

How I learned to learn

I taught myself HTML and CSS when I was 11 years old. Two years later, I sat down at the same family computer where I learned HTML and CSS and taught myself Python. Four years after that, I learned back-end web development with Node with the help of a mentor. Two years after that, I learned React with the help of a friend in the open source community. And so on and so on.

Although I attended a rigorous preparatory high school and an even-more-rigorous university, my most fulfilling learning experiences happened while I was at my desk, not a classroom or lecture hall. Independent learning has been the entry point and hallmark of my career in tech. This is true not just for me and for the particular industry I’m in. As the world at large progresses at an increasingly fast rate, independent learning is gonna be a necessary skill for keeping up with the world.

At this point, I think it’s important to define what I mean when I say “independent learning.” Independent learning is not solitary learning. Independent learning, in my mind, is learning that happens separate from an academic institution like a university or boot camp. It’s the kind of learning that happens when you pick up a non-fiction book or read a tutorial about a new programming framework or watch a YouTube video on the how to screw back a loose kitchen cabinet. Independent learning can be passive, you can learn without the intention of doing so by reading a news article linked to from social media or listening to the radio (if anybody does that anymore). Independent learning can also be active, you make an intention to learn a particular topic and seek out the necessary resources.

Most of the independent learning that I have experienced over the past decade has been “active independent learning.” I made the choice to learn about a particular topic, whether it was machine learning or knitting, and sought out the necessary resources. I’ve picked up a thing or two about being a successful, intent independent learner and I’m going to share them here.

Learning your (anti-)learning style

Like many young people, I’ve spent a large percentage of my life up to this point in a classroom or lecture hall. In those situations, I had little choice over which teaching style the instructor used to deliver their material. I’ve seen everything from deadpan lectures on quantum mechanics to animated and flexible lectures on human anthropology. After a few years, I quickly figured out that there were few forms of lecture that worked for me. While on my learning journey, I found a lot of resources that recommended learning what my learning style was. I found that figuring out what learning styles didn’t work for me was far more effective. It helped me know what kinds of material to avoid and where to best spend my valuable time.

Side-note: I think exploring the negative space in life is an oft-neglected task. Often times, figuring out what doesn’t work is just as useful as figuring out what does.

Learning the right stuff

When you’re learning a new topic, there’s a lot of noise in the information that you gather. Even if the general subject matter is relevant to your interests and goals, there are a lot of unnecessary details that you might capture in the learning process. The best way to figure out what the right things to learn are is to ask someone with experience in the field. Reaching out to mentors via Twitter or local meet-ups or in the office is a great way to find people willing to guide you through the process.

Lather, rinse, and repeat

Application is the best way to solidify learning and defragment the brain. If you’re working in tech, you’re likely learning a new programming language or framework. My favorite way to reinforce learning is to rebuild something that has been built before in that new language or framework. Whether it’s building an Instagram clone with a new web framework or porting a user land package from one language to another, applying what I learn in a practical way helps me organize the information that I picked up.

Getting comfortable with failure

As I mentioned earlier, I attend a preparatory high school. I was one of those “gifted” kids that had a pretty easy time grasping the concepts that was taught at a typical elementary school and even a little more advanced high school. All that changed when I started college. Suddenly, I was a little fish in a big pond. I had some of my first encounters with some truly difficult subject matter. For the first time in my life, I experienced failure in an educational context. At the start of college, I had trouble getting comfortable with that failure. I took it personally. But eventually, I failed enough times to where I didn’t fall into a brutal pit of self-degradation whenever I didn’t grasp a concept immediately. This comfort made it much easier for me to propel myself deeper into my learning and to bounceback from failure.

One of my priorities in my learning, and in life in general, is to get comfortable with failure (and to even go out and seek it at times). Sometimes, a rocky road is the only one worth traveling on.

Finally, I think it’s important to internalize the fact that you have a lifetime to learn how to learn. Learning is one of the few things that we do consistently throughout our whole lives. It’s part of what makes us human. For as much as we learn and discover about things outside us, we learn as much about ourselves.

Top comments (1)

michyscholar123 profile image

hi Safia and happy new year... just starting to think about learning basic
HTML and CSS, and I Was told it is good to Start early in meetup and discussions about web development and the first thing come to mind, is learning other javascript frameworks, is this a good thing or is it better just to focus on those two, and what kind of frame mind do I need to become a self-thought web developer.
Many Thanks for sharing and happy new year.