I recently found myself learning the difference between shims and polyfills. I have heard both terms on many occasions but never had the guts to ask for details, with much regret. So I tweeted the following:

Turns out a lot of people resonated with this, not just for JavaScript, but for programming and life in general too.

There have been so many times in the past six years where I’d find myself in a technical discussion where my conversational partner would use a word I did not recognize. I would just pretend to understand what they were talking about, nodding away. This was particularly common when I was new to programming.

I now recognize why this happened was due to a mix of impostor syndrome and fear of being judged as incompetent. But by not asking, I just missed out on an opportunity to learn something new.

Psychological safety

The environment plays a large part in learning how to admit that you don’t know something. I’m a lot more comfortable with asking more when there is psychological safety.

Psychological safety is “the shared belief that the team is safe for interpersonal risk taking”. This means that everyone in a team or environment feels accepted and respected. When I ask a question, will I be impatiently shot down, or will my teammate take the time to explain things to me?

I was fortunate enough to have built this habit out of attending the Recurse Center, a safe programming community with lightweight social rules built in especially to make “I don’t know” an okay thing to say. One of the social rules we hold up is No feigning surprise. The rules in the manual says it all:

The first rule means you shouldn’t act surprised when people say they don’t know something. This applies to both technical things (“What?! I can’t believe you don’t know what the stack is!”) and non-technical things (“You don’t know who RMS is?!”).

Feigning surprise has absolutely no social or educational benefit: When people feign surprise, it’s usually to make them feel better about themselves and others feel worse. And even when that’s not the intention, it’s almost always the effect. As you’ve probably already guessed, this rule is tightly coupled to our belief in the importance of people feeling comfortable saying “I don’t know” and “I don’t understand.”

Making it a habit

Having gotten used to asking questions all the time at RC, I realized that it is a habit that can be formed. I used to fear questions because I would imagine the person answering to be impatient about it. But every time I asked a question, nothing terrible happened! And the person I was talking to was extremely patient and explained things to me! So maybe saying “I don’t know” is not a terrible thing after all. The positive reinforcement really helped.

I do recognize that there are (unfortunately) also many places where “I don’t know”s are met with condencension and feigned surprises. I have been in some of those circles and now no longer choose to frequent them. If you are new to the tech scene and reading this, do know that there are safe learning spaces (some that I can think of are Recurse Center, Rails Girls, Outreachy). If you can, choose to spend more time there.

These days, I’ve been lucky enough to be working in an environment at Viki with lots of psychological safety. Not only is it totally okay to ask questions, but encouraged and my colleagues are lovely people who always take the time to respond. It’s something that I’ve come to deeply appreciate.

It’s also a place where it’s okay to make mistakes. I remember the first time I messed up a deploy – the reaction of the team isn’t to panic or put blame, but to tell me that “it’s okay, it happens. we can fix it”. It was so good. These days I panic a lot less when something goes wrong, and that in turn helps me get better at fixing them and writing better code.

Learning programming is intimidating

Learning programming can be intimidating – there’s so much to learn, so many frameworks and terminology that it can be scary. I’ve been there before, and I used to constantly feel like I should already know about all of these things. I have to remind myself that it’s okay not to know everything. In fact, every “I don’t know” is an opportunity to learn something new! Life would be pretty boring if we had all the infinite knowledge in this universe.

Recently, I’ve been mentoring new programmers under the RC Start program. My mentees ask extremely thoughtful questions all the time and I have yet to receive one not worth answering. Now that I’m in a position where I can actually be of help, every question I get is a precious opportunity to spot the missing gaps of knowledge I’m passing along and to address them. If you’re ever at a class or talk that I’m speaking at, thank you for asking questions!

Better ways of saying “I don’t know”

I have a list of other ways of saying “I don’t know” that you might find more comfortable with.

“___ is new to me. What is it?”

“I haven’t heard of ___. Can you talk a little more about it?”

“I’m not familiar with ___. “

I use a combination of these, and they make me feel more comfortable than saying straight up “I don’t know”.

Check in with others

On this flip side, when talking to another person, I try to check in with them. For example, while talking about a particularly jargon-y part of JavaScript, I try to check in by asking:

“Are you familiar with ___?”

This opens up conversation about how much they already know about the topic.

“Have you heard of ___? It’s relatively new”

Mention if something is new, so they don’t have to feel like they should know about it already. Things move so fast in JavaScript that it’s not uncommon to find catching up difficult.

“Would you like me to talk more about ___?”

Instead of putting the ball in their court to ask for details, offer to explain instead.

I find that choice of words matter. Asking “do you know about __?” or “you’ve heard of __, right?” makes it sound as though your conversation partner is expected to know about the thing and makes it a little harder for them to ask for clarification.


At the end of the day, there is so much knowledge out there that you may know, but someone else may not (and vice versa). We’re all still learning, and that’s totally okay.