Why Learning Is the Most Important Skill in Tech
And how we can be great at it
My favourite meme is the wonderful “I have no idea what I’m doing” dog. Surely there is no greater role model! Look at Bailey the Golden Retriever working on her science experiment. Does she care that she has no idea what she’s doing? She does not. She’s trying it anyway.
I love this meme. I used to have a picture of this dog taped above my monitor. I’d glance up at it all “You and me both, dog!” as I struggled through some difficult new thing. And there was always a difficult new thing.
Why Don’t We Talk More About Learning?
Our industry doesn’t talk much about learning. That’s weird because learning is our #1 most important skill. We can’t be successful without it. Tech is enormous. There’s a huge range of things we need to know, and it all changes constantly. Every day, there’s a new framework, a new piece of infrastructure, a new build tool, a new architectural hot topic. Suddenly, everyone’s namedropping some technology and it can feel like “Did I miss a public service announcement? Where did that thing come from?”
Keeping up to date with software means we’re constantly learning. We can’t do our jobs without it. But we don’t talk much about it.
Our Instagram Lives
That’s a problem. When we don’t explain how we know all the things we know, we’re not admitting that it took work to get there. For newer people in the industry, that creates unrealistic expectations. If everyone else just seems to magically know a bunch of stuff and you don’t, it can feel like you’re not good enough. It can feel like you’re not meant to be here.
It’s the Instagram problem, where everyone else’s life looks effortlessly perfect. We don’t see the untidiness hidden just out of sight, the 20 pictures that got discarded before the one that came out right. We see people use their knowledge, but we don’t show the knowledge being acquired. We don’t get to see the documentation that was incredibly unintuitive, the wrong paths, the terrible first prototypes, the ideas that took weeks before they clicked.
We don’t tell new people that learning can be slow and frustrating and difficult sometimes, and that that’s just… normal. If learning is the #1 skill, persistence is probably #2. Some things just take time.
So We Should Learn out Loud
In a talk I gave last year, I said that the reason we have senior engineers is so someone will ask the stupid questions:
- “Wait, what does that word mean?”
- “Can you explain this like I’m five?”
- “Why are we doing this?”
- “What problem are we trying to solve?”
- “Doesn’t something like this already exist?”
I sometimes ask questions in meetings when I already know the answer if I’m sure that most other people don’t. It’s less scary for senior people to ask.
For the same reason, I try to learn publicly: I block out learning time in my work calendar and am clear about what I want to get out of it. “By the end of these two hours, I’ll know enough websockets to make a terrible chat app.” I did. It was so terrible. It was the best.
Learning to Learn
Learning is a skill on its own — something you get better at as you do it and as you figure out what works for you.
For example, I used to spend time trying to find the “best” place to start from, trying to choose the most important aspects of this new topic I was learning about. I’ve concluded that (for me!) starting by reading an arbitrary article works just as well as reading a Wikipedia page on the topic, so I just choose something I didn’t understand and go read about that. Repeat. If I keep doing that for a couple of hours, I’ll build up a good picture of what matters.
If it’s a topic I find boring or difficult, I’ve learned that I can make it more engaging by immediately using whatever I just read (e.g. by writing a blog post or an internal document summarising what I just learned). My brain has infinite patience for reading about things that I want to write about or teach to someone else. Coding exercises and small projects have the same effect: I can learn theory forever, but there’s nothing that cements the knowledge like using it in a project.
It’s All Learnable
I think the most important realisation in tech is that everything is learnable. Absolutely everything. Some of this stuff is difficult and there are a ton of things to know, but none of it is magic. Worst case, it will just take time.
If you’re a junior person, don’t feel bad if it feels like there are a lot of things you don’t know. That’s normal. There are a lot of things to know! Familiarity will come with time… until you enter a new domain and then you’ll be back to having no idea what you’re doing again. Keep learning how to learn and new concepts will click a little faster every time.
If you’re a senior person, please show that you’re learning too. Share resources, ask questions, and tell people whatever cool thing you just found out. We’ll make our industry better if we admit that the #1 skill is learning — and that it takes a ton of time.