Tuesday, October 4, 2016

Asking Questions Shows Strength, Not Weakness

Our development culture has an element that I would like to eliminate: a fear of showing weakness. (There are other things I would like to eliminate as well, but this is the one I'm going to talk about today.)
Asking Questions Shows Strength, Not Weakness
There are some environments where people are afraid to ask questions from other members of their team. The reason for this fear is the response. Either the question is treated as a "stupid question", or the response is condescending ("I can't believe you don't know this"), or the person answering the question takes it as an opportunity to show off ("Let me demonstrate how much smarter I am than you").

I was extremely fortunate that the team I "grew up" with was not like this. But I have seen these teams personally, and I have talked to many developers who have been in these environments.

Why Now?
This is a topic that has been on my mind quite a bit. But it really came to the front of my mind this past week. I did several talks, including a user group, a workshop, and 2 code camp sessions. At least two times, when someone asked a question, they prefaced it with "This is probably a stupid question, but..."

The reason to preface a question like this is because we're really saying, "I'm not normally this weak, but..."

Before answering, I always say, "There are no stupid questions." We are trying to learn something new. New things don't always make sense the first time. We often need some clarification to really grasp the topic.

On top of that, we all have different histories, different experiences, different backgrounds. That means that we will have questions that are based on our own experiences. My questions will be different from your questions just because we have different experiences.

You're Not the Only One
Unfortunately, we have a fear of asking questions built in. When we look around, we see a lot of other people who are *not* asking questions. So they all must understand things, and I'm the only who who doesn't get it.

But in reality, we don't know what other people are thinking. We are comparing our insides (what I'm thinking and understanding / not understanding) with everyone else's outsides. We don't actually know if they understand it or not; we're making assumptions based on an invalid comparison. (BTW, This is exactly the same problem that leads to Impostor Syndrome. Scott Hanselman has a good article for devs: I'm a phony. Are you?)

When someone asks a question, I know that they aren't the only one with that question. How do I know? Because I do the exact same talks over and over again. And I will get the same questions over and over again. (As a side note, I'll add material to my talks to try to clarify and eliminate these questions where I can, but sometimes it's difficult.)

When someone asks me a question during a talk (or later in an email), it will often turn into a blog article. First because I don't always have time (or the knowledge) to go into detail during the talk. And second because I know that there are other people who have the same question.

Eliminating Fear
It's important that we eliminate this fear in our environment. Developers should be free to ask questions about things they don't know. It does not show weakness, it shows strength.
Without Questions, No Learning Takes Place
Our biggest assets in a team environment are the other team members. If the team members are afraid to ask questions, then no knowledge gets shared. This leads to a stagnant team. And in that situation, no one wins.

I have seen teams where the team members were afraid. Developers were afraid to ask questions because they didn't want to look weak. Developers were afraid to give answers because if they shared what they knew, they would be less vital to the team. These teams never succeeded. The team members were frustrated, discontent, and without hope. I really wish that I could have done something to change their environment, but it was built in to their entire political culture at the management level.

Breaking the Cycle
There are two things we can do to break this cycle.

1. Ask questions when you need help.
I would suggest doing some due diligence first. I spend some time researching the topic to see what I can find in documentation or forums. But I'll eventually get to the point where I can't get the answer on my own. At that point, I ask a question.

Some teams have a rule: If you spend more than 15 minutes trying to figure something out, you *must* ask for help. (There's usually a corollary that you must spend 15 minutes trying to figure something out for yourself *before* you ask for help. This is to encourage people to be an active part of learning rather than simply letting someone else do the work for them.)

2. Answer questions, and be supportive when you do.
When someone comes to you with a question, answer it. If you don't know the answer, help them find it or refer them to someone who might know. During this process, be supportive. Never act like the question is a stupid question. Don't take the opportunity to show off how smart you are. Make sure you answer the question in such a way that the person would be comfortable asking again in the future.

You Don't Know Everything
Here's a reminder: You don't know everything. And here's another reminder: No one else does, either.

It's okay to ask for help. It's okay to ask when you don't understand something. It's okay to ask for other resources that you can look at. This doesn't show weakness; it shows strength.
When we ask a question...
We are saying that we are interested in learning something new.
We are saying that we are not content with what we already know.
We are saying that we want to move forward.
Change the Culture
I'd really like to see a change of culture in our industry. I would love it if no one was afraid to ask for help. I'm not quite sure what needs to be done to change that. I'm going to encourage people to ask for help when they need it (Don't Be Afraid to Show What You Don't Know) and to help people who do ask for help (Help Those Behind You).

If you're stuck in an environment that doesn't encourage this, you have two options: Change your job or change your job.

If you can change the culture where you work, that's awesome. And all of your other team members will benefit from that. But if you can't change the culture, you need to make sure that you take care of yourself. In those instances, it might be best to leave and find a more productive environment.

Above all else, move forward. When we ask questions, we have the opportunity to learn something new. We can't control the response. But we can find the people who are happy to help us. There are lots of them out there.

Happy Coding!

1 comment:

  1. I agree with your article and believe that the answer lies on both sides of the fence. Both the one asking the question and the one being asked. I get a fair amount of the condescension you refer to, but I've never been shy about asking. And I've had other approach me leading with the "sorry.." I look at each opportunity to answer/teach another developer as a way to help myself to better learn the topic.