As we gain experience in life, we accumulate habits. They help us succeed in our current environment but when the environment changes, those same habits can start working against us.

One of the most underrated skills is unlearning. Growth isn’t just about adding new capabilities; it’s also about letting go of behaviors that no longer fit.

An example from my life is about driving. Growing up in Turkey, I developed a habit of accelerating on yellow lights to make it through. This has been the cultural norm, but it came with consequences when I moved to USA.

I failed my first driving test in the U.S. for turning left on yellow, and more recently, I got a traffic ticket for the same behavior. It became clear to me that this is a liability that I need to unlearn. Changing ingrained behavior is hard, but some techniques I’m trying are:

  • Remind myself of the negative experience: traffic ticket
  • Reframe: Treat yellow light as red light
  • Remove the decision: yellow means brake

Unlearning takes patience, presence, repetition and reinforcement.

The same need for unlearning shows up in software engineering, specially when transitioning from big tech to startups.

At big tech companies, you learn to seek alignment, follow the process and design for scale. At a startup, those same habits can work against you.

There may be no release cycles or quarterly planning. You might not have regular 1:1s, formal code reviews, or clearly defined ownership. Scalability may be less important. You may need to be a generalist, rather than a specialist.

Adapting to the new environment will require unlearning to wait for alignment or to be told what to do. It may require unlearning to design for future scale. It may require unlearning to operate with clear process and structure.

In the end, growth requires both learning and unlearning, yet unlearning is often the part we overlook.