Say “I don’t know”

Photo by Lech Pierchała: https://www.pexels.com/photo/tools-and-accessories-in-workshop-19370612/
Photo by Lech Pierchała: https://www.pexels.com/photo/tools-and-accessories-in-workshop-19370612/

From time to time, I dabble in drawing. I have always been a pencil-and-paper person, but only recently did I try digital drawing. Almost immediately, I understood how freeing it is to be able to make infinite mistakes along the way.

With traditional drawing, every mistake felt permanent, making me hesitant to experiment. But with digital drawing, I was no longer afraid to start sketching anything that came to mind, knowing that I could always separate layers, duplicate, edit, paint over, or even scrap an idea altogether.

I found that this process of refining and adjusting along the way yields better results—or at the very least, I could see progress much earlier.

The Parallel in Software Development

This also has a direct parallel in writing software (or engineering in general). Looking back at my experience in building software products, I rarely—if ever—started with 100% certainty.

It always begins with a problem. Then, one or more possible solutions are proposed, followed by proof of concept and iterative specification writing. Finally, code is written. But that is never the end. Through various tests (unit, integration, stress, user acceptance, etc.), the code is refined further. Even after deployment, modifications continue—whether to fix bugs, introduce new features, or optimize performance.

Leadership and Admitting Uncertainty

The ability to admit uncertainty while still moving forward is also a critical leadership quality. I used to think that a leader, especially a technical leader in an engineering organization, was the person with all the answers. But an experience with the CTO of the company I worked for changed my perspective.

In the early days of the company, a customer approached us with a backend issue. After hearing about their request, I had a conversation with the CTO.

He asked, “So, do you know how to solve that?”

I hesitated before replying, “… Um, no?”

He laughed. “Oh crap, you were supposed to say you do!”

“Wait, do you know?”

“Nope.”

That was a terrifying thing to hear. By all logic, we should have been panicking. But we didn’t.

Instead, in one of the best displays of leadership I’ve seen, the CTO systematically broke down the unknowns and mobilized the team to figure out each part. Even then, we didn’t have all the answers, but decisions were made, and we incrementally delivered and refined our solution.

Did we deliver the perfect solution immediately? No, we did not. However, by embracing uncertainty and an iterative mindset (we even communicated to the customer that development would be iterative), we were able to deliver something early and keep improving it over time.

This reminded me of the well-known quote from Reid Hoffman:

“If you are not embarrassed by the first version of your product, you’ve launched too late.”

What we delivered allowed us to receive feedback early and refine the product by incorporating learnings from those insights. This feedback didn’t just come from the customer—it also came from our own experience. For example, after manually deploying a few times, we quickly realized, Let’s use container orchestration; manual deployment is a PITA.

Vulnerability as a Leadership Strength

Later on, the CTO shared another leadership lesson with me: “Leaders must be vulnerable to the team. Admit the things you don’t know, and ask for help.”

Having found myself in a leadership position, I discovered that this advice held true. People inherently want to be helpful—especially to those they trust. As a leader, being vulnerable and saying, “I don’t know. I need your help to figure this out.”, builds trust within the team.

Leading by example also creates a safe space for learning. I’ve seen cases where team members didn’t deliver anything for days or even weeks because they were afraid to admit they didn’t know something and ask for help. Had they asked, their teammates would be more than willing to assist them.

The Power of Iteration

I firmly believe that the best leaders, engineers, and thinkers aren’t those who know everything but rather those who can act, learn, and iterate. The willingness to move forward despite uncertainty, to embrace feedback, and to continuously refine one’s work is what leads to true progress.

Leave a comment