I recently started as a software engineer with Particular. Being new means I've had plenty of opportunities to realize what I know and what I don't know.
With every new role, project, or technology, I've always found there is a lot to learn. I look at the team around me and see their good qualities, how they have it all together, and I realize how far I have to grow. They are experts, and I am supposed to know what I'm doing as well.
You respect the knowledge of your peers, and you want them to respect yours, too. Admitting that you don't know something is scary. Will you lose a bit of that respect? What if you admit not knowing something that was obvious to everyone else?
Saying "I don't know" doesn't have to be a bad thing. Just as one of the benefits of pair programming is knowledge sharing, saying "I don't know" gives someone the opportunity to help you. When we recognize that every individual brings a special set of skills , we can transcend the fear of judgment. Ultimately we are all working toward the same goal.
You can learn great things from your mistakes when you aren’t busy denying them.
Get rid of your assumption baggage
Saying "I don't know" on an individual basis uncovers gaps and encourages knowledge-seeking. Conversely, being afraid to say "I don't know" encourages a culture of perceived expertise instead of actual expertise.
We've all witnessed that awkward situation in which someone is unwilling to admit that they don't know something. It is a detriment to both the individual and the team.
There are a few pressures at play but at the core, shying away from saying "I don't know" reflects a desire to be seen as (1) intelligent and (2) credible. The irony is that failing to say "I don't know" will ultimately damage both pursuits. Pretending that you know things in order to be perceived as intelligent ultimately destroys your ability to be perceived as credible, leaving you with a reputation as neither. Admitting you don't know is actually a strong indicator that you are intelligent.
The ability to say "I don't know" is particularly helpful in the software development industry. Developers make many mistakes because of poor assumptions, which could be prevented by admitting we don't have all the answers.
If you tell the truth, it becomes a part of your past. If you lie, it becomes a part of your future.
Lead by seeking truth
Here are some ways I think an "I don't know" culture can be grown:
Say "I don't know." There are countless opportunities to say "I don't know" and to follow up with "Let's find out." This simple act can encourage others to do the same.
Share mistakes. When we make mistakes, there are lessons to learn. Admitting to those mistakes will show your dedication to transparency and allow others to learn vicariously through you.
Rinat Abdullin provides an awesome example in his Lokad.CQRS retrospective. Here, he details how not knowing caused quite a bit of pain, and then he shares the lessons learned for posterity.
Seek critique. It's difficult for us to know our own deficiencies. We understand that about ourselves. Actively seeking feedback will help you improve yourself, and you'll find ways to share your discoveries with others.
Ask for help. People love to help and teach. This encourages a sense of community and fosters mentoring. You might even learn more than you bargained for.
Lead by example. People who seek to learn new things often find themselves in domains where they know very little. Those who are consistently learning will often need to say "I don't know." Being able to admit this shows that you embrace the fact that no person knows everything—and that includes you.
Hire the right people. Finding people who can admit deficits in their understanding will build and protect this culture of knowledge-seeking. One interview technique is to check how quickly a candidate will say that they don't know. Following that, you'll see how someone seeks education after discovering a gap in their knowledge.
Top-down buy-in. When leadership embraces these techniques, admitting "I just don't know" is more than a just a permissible thing to say. It's an approach to problem-solving at your company.
It also pays dividends to practice egoless programming. No matter how much karate you know, there will always be someone else who knows more.
Put it into practice
Speaking from experience, when I don't know something I have found it much easier to speak up if I have seen people in leadership positions do so. Actions speak louder than words, and publicly saying "I don't know" will help other people do the same.
The next time you find that you don't know, speak up! You'll broaden your horizons and do something good for your team and culture, all at the same time.
About the author: Colin Higgins is a software engineer at Particular Software. He is red-green colorblind and isn't afraid to say he doesn't know if his clothes match, even though he can't learn from it. He is passionate about software and continuous improvement.