Learn-to-Code Metrics


I was pretty obsessed with understanding how I learn. Not how a person learns, but how I learn. I had to. Finding out what worked, what didn’t work, and measuring how much I learned was a matter of survival. The cost of not maximizing my learning was just too high. This was before coding, in my pre-med days, where anything less than a 3.5 GPA made medical school a far-fetched dream, and a single bad grade could ruin everything. I quickly learned that I wasn’t one of those people that “just got it.” I couldn’t sit in those god-awful lectures absorbing information, show up at exams, and just ace them. In fact, I found that those lectures did very little for me.I learned best from books, tons of examples, and repetition, repetition, repetition. I wasn’t the fastest at grasping new concepts, but once I got it, I got it forever. And knowing how I learned meant that I wasn’t frustrated when I didn’t get it right away -- I trusted that if I leveraged what I knew about my learning needs, I’d get it in the end. And I always did.

But it’s been a few years since those pre-med days. And now, I’m in lecture at my programming bootcamp. And I’m freaking out. I wasn’t getting it like everyone else seemed to. I wasn’t able to just “pick it up.” And that’s when those piercing thoughts of doubt burst in, telling me I’m not good enough. Telling me this just wasn’t for me.I think one of the hardest things to combat when you’re a #CodeNewbie is the emotional struggle -- there’s frustration, doubt, pure cold disappointment. And it’s not just a newbie problem. But one of the most helpful ways I’ve found to combat the frustration is to understand, measure, and focus on my growth.It took about a week for me to remember how it felt when I’d been pre-med. And that in order for me to maximize my learning, I had to get back to understanding how I learn. And I wasn’t going to do well if I focused my energy on how everyone else seemed to be doing. What were all those lessons I’d learned about myself in my pre-med days?For me, maximizing my learning is about:

Repetition. It’s tempting to feel frustrated and overwhelmed when I don’t get something right away. But because I know that my biggest ally is repetition, it’s easier to simply say, “Well, of course you didn’t get it. You haven’t gone over it enough!” and cut myself some slack.

Lots of Examples. Watching videos and tutorials is great (sometimes), and can provide a nice overview, but I just gotta dig in myself. And I know enough about myself to know that the more examples I can draw from, the more likely I am to really absorb the concept. Seeing the same concept in different contexts is essential.

My MetricWhen we talked about measuring our learning in our weekly TwitterChat, a few people expressed their concern that such metrics would take time, and specifically, time away from the actual learning. But when I think about how I measure my learning, it doesn’t require a complex system or a robust task app -- it’s as simple as setting goals based on how I learn, and testing myself. If I know that I learn best using books, repetition, and examples, then my learning goals for that day might be to read a chapter, review it three times for repetition, and work through three examples related to that chapter’s concept.

And if I’m feeling ambitious, I might set time limits around each of those goals. Once I’ve finished those goals, I give myself some sort of test. I might try to explain the concept to someone else, or write a blog post, or implement the feature I learned about in a completely new way. This final “test” is my way of getting some sense of how much I actually learned. Sometimes, the blog post pours out of me with ease. Other times, I get stuck explaining the concept. And if my test is building a new feature, either the code flows out, or I get stuck far too often. How well I do on that “test” is my way of gauging if I really understood that concept. And if I didn’t, then I’d go back and set some new learning goals. Maybe I need a different book? More repetition? Different examples? Or maybe I should try a video this time?

For me, it’s as simple as writing down a list of learning goals, giving myself a “test” of some sort to gauge how much I actually learned, and iterating as needed.

How do you maximize your learning? What works best for you? Email us your thoughts at hello@codenewbie.org and we’d love to post it :)Happy coding,Saron