Today, I asked our newest hire how she was doing, and she admitted she was nervous about being on-call for the first time. “I’m not sure I’ll know what to do,” she added.

“That makes sense, but don’t worry, this what learning feels like.”

If 20 years of coding have taught me anything it’s the feeling of being overwhelmed and incompetent. I felt it the first class I took in computer science and the last one before I graduated. I felt it the first time I wrote code for a real job, and the first time I submitted my commit to a code review. I felt it last yesterday when I had to fix a bug in unfamiliar code. Every time I’ve had to use a new language or framework I’ve been intimidated and frustrated.

It feels like drowning. It feels like I’m the only one who doesn’t get it. It feels like I will never get it.

If you have only begun coding recently, then this is the most important lesson I can share: that feeling never goes away. That seasoned engineer you look up to has felt it more times than you can know, and they’ll keep feeling it. That feeling has defined their engineering career.

But here’s what that great engineer also knows: that moment of panic is also the moment you are learning the most. That fear is the sign that you are outside your comfort zone. It’s the same way an athlete learns to recognize that pain is the feeling of growing stronger.

Your expertise as an engineer is the sum total of all those moments you were overwhelmed and didn’t know what you were doing. It’s the hard-earned product of a thousand painful mistakes. And believe me, most lessons are learned the hard way. Your brain is wired this way: painful mistakes release the neurotransmitter dopamine to reinforce the new neural pathways you have just formed.

Fear is literally what learning feels like.

But the other thing every great engineer has learned is that you don’t have to listen to this feeling. It’s just a feeling.

When you first start jogging, one mile is a daunting task. But over time you get better. And then you discover that running is a mental game, not a physical one. The truth is that your body complains long before it’s actually at risk of injury. The barrier to running 6 miles isn’t your legs or lungs, it’s your brain. You have to learn to run through the discomfort. Let’s be clear: the discomfort doesn’t disappear. Marathon runners aren’t smiling in those photos. But it also doesn’t mean you have to stop. The runner’s high comes with the knowledge that you can overcome the pain.

The same applies to engineering. The 10th time you feel overwhelmed and unconfident you begin to recognize the feeling. It’s your old friend. Okay, maybe it’s not your friend yet. But you remember the last 9 times that you felt this feeling and know that things were not only okay, but better for it. The most amazing feeling is when you realize that you can run through the discomfort. You know that you can’t avoid the pain, but a month from now you’ll understand this new language or tool.

Think of it like this: learning a new language like Spanish or Mandarin is hard. If you already know five languages, the sixth is easier, but you’ll still have to start as a novice who doesn’t know basic grammar or vocabulary. The difference is that they polyglot learns faster as has more confidence that the awkwardness will soon pass.

This confidence is what defines a senior engineer. It’s not a set of skills or years on the job. It’s a belief that I can learn the next language or tool or challenge. And this is critical to today’s engineer; the tools and frameworks will constantly shift, as will the processes and requirements of the job.

So this is my advice: The next time you are frustrated or overwhelmed just tell to yourself, “This is what learning feels like.” When you feel the inevitable self-doubt, then repeat, “This is what learning feels like.” When that voice in your head says that you’re the only one who doesn’t get it, count yourself lucky that you are the one who is learning right now.