
Learning to Learn
Learning to Learn êŽë š
Thereâs been a lot of talk recently about whether or not you need a degree to be in tech (spoiler: you donât). But please donât take this to mean you donât need any kind of education to be in tech, because by not getting a degree, youâre opting to replace the imposed learning structure of an academy with learning on your own.
Academic background or not, technical education doesnât stop once you get a job. On the contrary: nothing in tech stays in one place, and the single most valuable skill you can possess to remain employable over time is learning how to learn.
Identifying holes
Youâre all ready to go, ready to challenge yourself, learn what you can, and grow. But where do you start? Sometimes people rely on a more formal education simply because someone is there, guiding your path.
When youâre learning on your own, this part can sometimes be tough â you donât know what you donât know. If youâre starting from scratch, learning web development or computer science, here are some resources that might help:

There are also times when you know what you need to learn, but you have to level up. In this case, I have some strategies on how to organize yourself in the next section.
Possible strategies
You absolutely do not to be as formal in your approach to learning as I am. I used to be a college professor, and so I still organize my own learning as though Iâm teaching. I even still use a paper planner designed for teachers. Iâll show you how I do it in case itâs helpful. A few years back I taught myself ES2015/ES6, so Iâll use that as an example. Structure like this is good for some and not good for others, so do what works for you.
If thereâs an API Iâm trying to learn, Iâll go to the main documentation page (if there is one), and list each of the things Iâm trying to learn. Then Iâll divide the sections into what I think are manageable chunks, and spread the sections over my schedule, usually shooting for about a half hour a day. I do this with the understanding that some days I wonât find the time, and others, Iâll dig in for longer. Typically I aim for at least 2.5 hours of learning a week, because that pace seems reasonable to me.

Then I take all of those features, write them out, and estimate how much time Iâll need for each one. Hereâs an example where I wrote out all the things I needed to learn. The yellow numbers on the side are my time estimates in half hour units.

You can also do this with course materials from an online workshop, writing down the sections and breaking them into chunks to go over every day. I really enjoy Frontend Masters for long form learning like this, as well as Egghead and courses by Wes Bos.
At this point, Iâll break those pieces down and schedule them. The teacher planner allows me to divide my days into the different themes Iâm focusing on and put a little in each day. You can see in the first screenshot that I was learning a bit, mentoring a bit, and writing and building what I was learning each day. This kind of input/output really helped me solidify the concepts as I was digging into ES2015/ES6.


I try not to schedule too far out because Iâm bound to drop something here and there, or I might dive further one day than I was planning to. I keep the schedules flexible enough to adjust for these inevitable inconsistencies. This also allows me to not get too demotivated. If I feel Iâm off-track, the next week is another opportunity to get back on.
Again, you donât have to be as formal as I am, and there are so many ways to be effective. Find what works for you. I would make a small suggestion that youâre taking a look at the table of contents for those API docs now and again, mostly because then youâre aware of any gaps in your knowledge that youâre not filling.
Setting aside time
Setting aside time can be challenging with all of our busy schedules, but itâs critical. If you look at your week, how much time do you have? Learning wonât happen unless you purposefully devote time for it. It neednât be a ton of time. If youâre a more habit-driven kind of person, you can set up a daily schedule. If youâre the kind of person who learns better head down and you have an existing job, then you might have to give up some Sunday afternoons, or possibly some time after work now and again. Most of us need a bit of both. âșïž
If youâre socially motivated, you might want to find a study buddy. Is there someone at work who has similar goals? Maybe going to coding meetups can help keep you on track. Emma Wedekind (EmmaWedekind) also builds Coding Coach (codingcoach_io), where you can have guided mentorship sessions.
Practice
At the end of the day, itâs going to come down to practice. If you read about Cognitive Load Theory (I highly recommend the book Cognitive Load Theory if you want to learn about this), youâll see that the old âpractice makes perfectâ adage has some bite to it.

I also really like this quote from Zed Shawâs Learn Python the Hard Way.
Do Not Copy-Paste
You must type each of these exercises in, manually. If you copy and paste, you might as well just not even do them. The point of these exercises is to train your hands, your brain, and your mind in how to read, write, and see code. If you copy-paste, you are cheating yourself out of the effectiveness of the lessons.
I also love this quote from Art and Fear, and bring it up frequently as itâs been a guiding light for me:
Info
The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the âquantityâ group: fifty pounds of pots rated an âAâ, forty pounds a âBâ, and so on. Those being graded on âqualityâ, however, needed to produce only one pot âalbeit a perfect one âto get an âAâ. Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the âquantityâ group was busily churning out piles of workâand learning from their mistakes âthe âqualityâ group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.
Learning modalities
Truly there are many different learning modalities, and combining them can even be helpful. Sometimes I will sit and practice refactoring code from other languages into JavaScript (sdras/JS-stroll) (this is a pretty old project now), or reverse engineer things to learn. I like reverse engineering because people tend to problem-solve in different ways. This allows me to peek inside other peopleâs heads and see how they approach things. I even have a private collection on CodePen where I collect other peopleâs work that I think can benefit me and my learning.
Personally, I think thereâs nothing more motivating than building. You can actually learn a metric ton just by building things.
Storytime: Many years ago, I was at a conference with a few people who worked on the SVG spec, including the inventor of SVG himself. I was completely unknown at the time, but had been churning out tons of SVG animations that were wildly unpopular for a few years. We got on the subject of a certain behavior that was in the spec. I mentioned, that yes, it should work that way but unfortunately Firefox had x behavior and Chrome had y.
No one in the group knew this, and it was the first time I realized that all those silly playful things I was building were actually educating me; that I knew practical, real-life edge cases even though I hadnât sought them out in a formal manner. I was so excited! I didnât plan to become an SVG expert â it snuck up on me as I enjoyed myself, building things to relieve stress and play.
This is good news! You can learn so much by creating things you think are fun. I like to learn for a bit, and then practice what I learned by making something, just to make sure I solidify the concepts.
You may find you learn the most by teaching. If you do have a person you can mentor, it can actually benefit you, too. Writing technical posts or helping with documentation can help you learn something concretely as well.
Cognitive Load Theory
The book I cited earlier, Cognitive Load Theory, has this great section breaking down learning modalities and what they require. A central theme to the book is discussing moving information from a source into our own minds, and that there are certain capabilities and limitations affected by design characteristics of the learning structure and our own cognition.
- Intrinsic load is created by the difficulty of the materials.
- Extraneous load is created by the design characteristics of the type of education and materials.
- Germane load is the amount of invested mental effort.
The chart below explores effects of different ways that we learn, and what the primary cognitive load would be of the three listed above.

This kind of meta-understanding of what it takes to learn might be helpful to you in that you might find you have less cognitive load in one learning modality versus another. You may also find that you can cut yourself some slack when one topic with more germane load takes you longer to understand than another thatâs mostly memorization.
Know that learning styles do affect our ability to comprehend things, and reducing barriers for yourself is key. Do you keep studying at a cafe where thereâs a lot of noise and distraction? Consider that your lack of focus might have more to do with the setting than your ability to process the materials.
One more note on this: learning is hard, and itâs humbling. Itâs exciting too, but please donât feel alone if you struggle, or if you need to repeat something multiple times to really get it. Even after taking care of cognitive leaks, expanding knowledge is not necessarily easy, but does pay off in dividends.
Lifelong learners
By choosing to be a developer, you are choosing to learn. This is amazing. Our field not only values our knowledge, but we can stave off boredom because it doesnât stagnate. My suggestion is to consider all the things out there to learn a buffet table. Thereâs so much you can do, so many tools you can use. You donât need to learn everything and no one knows absolutely everything. It can feel overwhelming, but try to view it less like a race to the finish and more like a continuous journey.
Remember: no one was born knowing any of this. Even the experts you know started at zero. Thereâs nothing stopping you from becoming their peer if thatâs your goal. Or simply learning enough to get the job done if thatâs what you need.