in Posts

Since it’s just you and me here, I’ll admit a secret: I really hate being terrible at something.

When I try to pick-up a new skill, I take a look around at people that have been doing that “thing” for years, and I immediately want to be on their level. I want the instant gratification of being excellent instead of slogging through years of being terrible.

For the better part of the past three months, I’ve focused all of my free time on one thing – learning front-end web development, specifically JavaScript. I enrolled in a front-end course on Treehouse. I subbed out fiction before bed for Eloquent JavaScript so I could dream in for loops and if statements.I stopped writing blog posts and told all of my freelance clients I was busy.

Here we are at the end of three months of full immersion and guess what? I’m nowhere near where I thought I would be.

Don’t get me wrong; I’ve progressed miles from where I started. If we set an arbitrary target as 100 for fully-functioning front-end developer, I started at 0 and ended up somewhere around 25-30. The frustrating part is the huge chunk I’m missing. I’m fortunate to work with some of the most talented developers on the planet at Automattic, and when I try to compare myself to them, the gap seems insurmountable.

The last time I seriously remember feeling “the gap” was when I started on trial at Automattic. I thought I had a pretty solid understanding of WordPress.com when I started only to find out I knew almost nothing. Trying to close that gap has been challenging. In an effort to remind myself, here are some steps to closing the expert gap that apply to anything you’re trying to learn.

Don’t get caught up in learning facts. The true definition of an expert isn’t that they know every answer off the top of their head. Rather than rehearsing facts, experts master problem solving techniques. In JavaScript, this would be the difference between studying syntax and learning about higher level concepts. You can look the former up in Google. The latter is much harder to learn.

Don’t shy away from problems. Our natural inclination is to work at the point of least resistance. We avoid difficult tasks on our to-do list and spend time working on easy things instead. Rehearsing what you already know how to do results in marginal improvements at best. Solving hard problems takes you to a whole other level.

Surround yourself with experts. If we truly are the sum of the people we surround ourselves with, I prefer to surround myself with people I can learn from. Perhaps I’ll learn from osmosis by just being in their presence. Alternatively, I can try to hang onto their conversation in hopes that I’ll learn a thing or two along the way. Hell, I might even be able to contribute a thing or two. Hang in circles you would be proud to be a part of. Join groups, meetups, and organizations that you can learn from.

Get in over your head. Growth comes from being challenged and diving headfirst rather than dipping your toe in the water. Find a problem you can’t currently solve. Tell everyone you’re going to do it. Then, find a way. For a Zapier piece, I interviewed designer Amanda Morrow on what it was like to interview for one of her first design jobs:

They gave me $100 to go home and design a page for one of their pet projects. I worked my tail off for two days, reviewed my design with other developers to make sure it was doable, then came back and presented it BitMethod. This gave them the sense of what it was like to work with me and I was also able to prove to them that I was willing to learn.

I’ve heard numerous other stories from developers that accepted a freelance project before knowing how to complete said project. Be cautious (make sure you can deliver), but put some pressure on yourself.

With the right amount of perseverance, you can learn absolutely anything. Although I know that and preach it constantly, I still need to remind myself every once in awhile. The expert gap is completely surmountable. It just requires action.

Trying to learn a new skill? I’d love to hear about your strategies and techniques. Shoot me a message here.

Leave a Thought

  1. Comparison with the pros is a mistake we often. Reminding yourself to go gradually and step-wise requires some great motivation!

    Specifically in this case, learning to code in my opinion can best be done through examples and creating stuff.

    You want to build a slider? Cool, look up a few examples, no problem if you have to copy/paste a few lines. Modify the code, customize it for your use-case. Want a specific functionality? Again search it, grab a snippet, assemble the code.. you’ll eventually build a nice end-product and would have learnt many skills. 🙂