“Is everything OK for you?” – the question you should never ask your developers

People
picture courtesy of xurble@Flickr

I’ve talked with my friend recently and he complained about his team leader (actually he was explaining me why his team leader sucks). It’s not about her personality or attitude but my friend’s biggest complaint was questions his team leader asks him e.g.:

– Is everything OK for you?

Well… How can you answer this question. Is she asking about my private life, my development environment, my current assignments? What answer does she expect? If almost everything is OK for me but I have some ideas how to improve team’s performance should I answer “Yes”, “Yes, but…” or “No”? This is a wrong question IMHO – it shows lack of respect because team leader doesn’t really care about the answer, it’s like “How are you?”.

If you are Team/Project Lead and you lead development team you should read this post and get to know engineer’s point of view.

Why such questions suck?
Let’s suppose I work in a team and I see that the code we are producing is not well tested. More so our team does not have any continuous integration (CI) tool installed. I want to share my ideas how to cope with such problems but my team lead is hard to catch and always busy.
Though she regularly asks me questions like “Are you OK with the team?”, “Is everything OK for you?”. Should I talk about CI and tests problems here? Is it a good time for her to talk about my ideas? These questions does not encourage me to touch any real problems our team might have.

What questions engineers expect?
Engineers are really concrete guys and they expect concrete questions. Yes – it hurts sometimes but what we are doing is often so complex that asking general questions refers to void – do you really want to know about void? (Isn’t is an example of micromanagement?) In my friend’s example the question his team lead asks are very general.

How much easier it would be if she regularly asked him questions like:
– Do you see any problems in the project we are currently developing?
– Do you think our development process is working well? Have you got any ideas how we can improve it?
– Do you need any help in what you’re doing?
– Do you have any ideas how to …?

Use your people’s creativity
If you are managing software development team you should learn what questions to ask. You should ask questions that cannot be answer with simple “Yes” or “No”. Ask questions that enable your engineers to express their feelings, ideas, fears. Your engineers are very creative (I’m sure of that) – let them talk to you and share their ideas, let them think and create!

Ask the right questions – you will get the right answers
If you’re asking the wrong question like “Is everything OK for you?” don’t expect the right answer (whatever it means). What do you expect from your engineer while asking such question? Are you expecting me to tell you about my weekend? Then ask me about the weekend. Are you expecting me to tell you about my children? Then ask me about my children.

Asking right questions is a key to good and open communication – and it’s the most important factor in an efficient development team (see also XP Practices). Asking the right question will give you the right answer i.e. the answer for your concrete question – no misconceptions. If you want to ask me general question just to see if I’m not sleeping (keep-alive?) just say “Hello!” – if you want to ask a question and you don’t expect any answer (ping?) – just don’t do it! – you will not earn my respect by doing that.

If you are lucky to work in the Agile environment, this problem could be solved to some extent during Daily Scrum Meeting where you can share your ideas and problems or via the retrospectives when the team is encouraged to analyze their way of working.

Advice
If you’re a team or project leader it means that you are smart enough to find some right questions that will let your engineer talk about real problems and real solutions. Ask your questions often and you will see how many opportunities you can find around you.

Be careful, when asking way too general questions – at times it might be worse, than asking no questions at all.

I’m really curious about your opinions:

  • Are you an engineer who is being asked such meaningless questions? What do you answer?
  • Are you a team leader who asks such questions? What answers do you expect? Why are you asking?

Feel free to share your thoughts here.

8 thoughts on ““Is everything OK for you?” – the question you should never ask your developers”

  1. I am an engineer and I would prefer the more open ended question. Should the software lead really have to ask specific pointed questions like you would a child? “Is your build environment ok?” “Do you need help?”. I am a grown up, and I expect my co-workers to be as well. If I see a problem with the projects I am working on, I would tell someone. I wouldn’t sit at my desk and hope that my team lead asks the correct pointed question that deals with my issue. If I need help, I wouldn’t wait for someone to ask me, I would be proactive and get help, or ask for help. I think the more pointed questions would work well for engineers who are socially inenpt, or perhaps have little experience and don’t know their options. For me, I expect my team lead to stay out of my way until I need something from them, or they need something from me. No 20 questions.

  2. I suffer from Asperger and i have a hell if the person isn’t asking a straight question but a blurry question like that.

    I want the Team Lead to know what they are doing, telling us what todo and similar.
    Then check up on us with straight questions.

    Now i am working at a small company where we don’t have a team leader, just untechnical bosses that is the project managers (which is a hazzle often).

    So i agree with the article.

  3. It depends on the individual, and how they like to interact. Some people prefer the structure of directed questions. Others prefer the informality of a friendly “How is it going?” open ended style question. In a professional environment, it should be clear that an open-ended question is not about your private life – it is just a way for the team lead to say “hi, I’m interested in what you are up to and would like to offer any help if I can”.

  4. I completely agree with Mike’s comment. How about if you put yourself in your team lead’s situation and try to understand their point of view? If they are a good team lead, as Mike commented, they will stay out of your way unless their help is requested. If you assume this to be true, that open ended question that you hate so much may be her way of trying to open the lines of communication with you and your co-workers. But it seems you don’t trust her enough to tell her exactly what you’re thinking, or anything at all it seems.

    As a team lead with several years of experience, I often ask similar questions, and I do get appropriate feedback. At that point, we dig deeper. If the question is asked in a meeting, I don’t think I’ve every come across anybody who misinterprets the question and thinks I’m asking about their personal life. Now, there are a few developers I’ve worked with who do seem as if they need to be asked specific questions. But somehow these are the ones who seem to have performance problems (such as spending way too much time surfing the web, etc.). These guys don’t even care enough to participate as a productive member of the team, who I rarely hear from unless I go talk to them.

    Bottom line is that, in my opinion, these types of open ended questions are just openers, and it’s both your responsibility and the team leaders responsibility to keep the communication flowing.

  5. Mike’s reply covers a lot of the issues with this idea. You’re implying that team leads should take responsibility for their team’s social inability to do something as simple as bring up comments or concerns in casual conversation. Your boss is not your babysitter. This is not his or her responsibility.

    To put it in more technical terms for the socially challenged, you’re expecting your boss to routinely poll you rather than simply expect that you will dispatch an event notification when you have something to say. This is as wrong, rude, and inefficient in social contexts as it is in technical ones.

    Technical competence is only one part of professional development. In order to be more than a code monkey you need to be able to work effectively with others. Being flexible and understanding is a must. Why are you not bringing these issues about CI to your lead when they arise? Is it so difficult to send him/her an email, IM, or simply walk by his/her desk and say, “Hey, I was thinking…”?

    “My team lead is always busy” might have worked as an excuse in an office setting where asynchronous communication is not readily available, but that is no longer the norm. Effective communication is not a one-way phenomenon that moves down the hierarchy.

  6. Some years ago I learned the situational leadership model. In my opinion people with the different development levels (level of mastering the task/team, not any kind of general level of the person) need different type of leadership. Newbies [on the task] need concrete guidance, later they need some coaching and support and when they become masters they need and value the delegative behavior of the leader.

    Unfortunately most of the leaders employ only one or two styles of leadership. Sometimes “Are you OK” questions are appropriate, sometimes more concrete and to-the-point questions would be better.

  7. I’m really glad that so many of you disagree – thanks for your comments! And here is my comment:

    Team leader is definitely not a baby sitter and definitely cannot ask all possible questions – that’s stupid. On the other hand leading people is mainly about psychology. Some people are introvert and some are extrovert. Those extrovert will tell about every problem they see but introverts will sit quietly. Do you want to say that introverts cannot be good engineers? That’s also stupid. It’s the team leader’s responsibility to know team members and to get information from different guys in different ways. Some of them will be good with “Is everything OK?” (they will not even need any question) but some of them will require tongue pulling and asking more concrete questions.

    I didn’t mention it in the post but the way of asking the question is as important as the question itself. I’m basically OK with “Is everything OK” question but when someone asks this question looking at the monitor I know that he/she doesn’t expect the answer. If I say “f**k you” he/she will not even notice it. Why asking any question then?

    “Grown-up guys” – accept the fact that there are different types of people – not everybody is active, extrovert and communicate problems openly. Not everybody wants to be the best and shouts about every possible opportunity or problem out loud. That’s why asking good questions is important – to get feedback from EVERYONE not only from people who are not afraid to talk.

  8. I have no idea about the situation your friend and his team leader are in, but I know at least where I work my manager only has so much pull in what development processes, etc. are implemented. So lets say he comes to me and asks “Do you see any problems in the project we are currently developing?” And I reply “We are horribly understaffed, our bug tracker reporting system is terrible, and our versioning system is buggy” what is he suppose to do with that? Each “idea” requires significant capital to put into action and really in the whole of things they are fairly simple solutions that don’t change the development process. What if I suggested we transition to a different development framework, currently we use Java Struts where I work, but I suggest we transition to Tapestry. That would require a massive change. All of this lumped on top of the fact that likely subordinates are not going to have their suggestions well researched, so lets say for some reason my advice is followed and we begin the transition only to find out halfway through that Tapestry isn’t nearly as good for what need to do as Struts. What then? Do you continue on with using Tapestry or go back to Struts? Should my manager then “yell” at me for making a very poor and costly decision?

    If a new project is being suggested or a project is going in a new direction absolutely get opinions from your developers, but once a project starts the best questions to ask are “Is everything OK?,” meaning do you need any help with what you are working on, you getting enough time off, you running into any problems, etc. etc.

Leave a Reply

Your email address will not be published. Required fields are marked *