I currently facilitate a technical interviews workshop once a week at a local university. One common question I get from my students is: “How do I know when I’m ready to interview?”

It’s a tough question because as engineers we all have a perfectionist inside of us, which means that we’ll never be ready to interview with these big tech companies. But after further reflection, I believe there is a simple answer. And it comes from the arts, specifically the performing arts.

In a short article by a dance instructor and writer, Dean Paton, he writes about Dance and the Four Stages of Mastery. When someone begins to learn a new dance, they go through the four stages of mastery. The first stage is Unconscious Incompetence. In this stage, they are fumbling around with a dance move, not knowing what is right or wrong. they don’t even know that you suck at dancing. This is where ignorance is bliss.

But as the dancer becomes better, they realize that they’re finally learning. They may not be getting the moves right. But they know that they’re getting it wrong. The brain is in full overload. And they start getting very self-conscious. In fact, this stage is called Conscious Incompetence.

With more time and practice, the dancer finally gets the moves down. They know how to do it right and they got it down. The ego is getting a boost from doing the dance correctly. But at this stage, the dancer still has to think about dancing. They have to think two or three moves ahead, perhaps check their feet to make sure it’s in alignment. They are not totally free. Dancing is still an act of learning that requires concentration. This is Conscious Competence.

Now with even more time and practice, the dancer finally becomes a master. They don’t have to think about how their bodies move. Their bodies just move on its own without any help from the brain. In fact, the dancer is not even self-conscious or worried about making a mistake. The dancer has gone back to dancing unconsciously without a care of what people think. The difference is that the dancer is actually good at dancing. This is Unconscious Competence. The dancer is completely free to move around to the music and bust a move like it’s no one’s business. This dancer is ready to compete in a dance competition. Or simply go out dancing on a Friday night…without a partner because they are so good they’ll find one.

The four stages of mastery in dance also apply to knowing when you’re ready to do a technical interview. Interviews at the FAANG companies are notoriously tough and competitive. Interviewers have an arsenal of questions to throw at you, and you will never know which question you’ll get. Then there’s the nerves. Add the pressure of competing with every other engineer in the world and you’ve got a big task ahead of you. So how do you know when you’re ready to interview at say, Google? When you can solve a technical interview question with total freedom and mastery. That means you don’t have to think twice about syntax because you’ve mastered your programming language. That means that you can solve a question in two or three different ways and you know why which one is better than the others. That means you are not stumped at all when you get a tough problem that you’ve never seen before because you recognize a pattern from a similar question. And that means that when you practice with your buddy, you actually complete the question on time and don’t have to ask for help because you know algorithms inside and out without even having to think about it.