38

I'm a lead developer of a 6 person software team. Among the applications we develop are some that are used for in-house operations. As lead, I'm a resource to the other developers and a liaison to operations and the rest of the company. And as a developer, I have a full schedule of development on my daily plate.

There are a handful of people whose preferred communication method is to walk into my office and begin asking or explaining something. I try to respect this but it is a challenge when I'm immersed in a development challenge. My preferred method for many of these questions would be for the person to email me. (I am good about replying to all emails promptly. I'm grateful to answer when it doesn't take me out of another context.)

It almost goes without saying that each person's preferred way of communicating deserves respect. It is also reasonable to expect that my perceived level of urgency of an issue differs from that of my interlocutor.

So my question is, do I?

  • Politely ask them to try emailing me for non-urgent issues, and risk being less valuable as a resource to that person. Or,
  • Deal with it. That's my job. Grow.

A few extra details:

  1. I do close my door sometimes, especially before our morning scrum. It's not practical to keep it closed throughout the day.
  2. I see other questions here about interruptions, but all about a single colleague that interrupts too much. I hope the moderators will appreciate my sense of nuance and see this as a new question.
5
  • 4
    As a former lead who is a very happy "just" developer now, I wish I could upvote this more than once, I never found the solution to this problem myself. Commented Jul 11, 2014 at 6:37
  • Interruptions always happen. Sometimes you just have to be a jerk and ignore them until the more urgent tasks have been taken care of.
    – aroth
    Commented Jul 11, 2014 at 7:42
  • 6
    I dream of having a door... :)
    – occulus
    Commented Jul 11, 2014 at 14:10
  • The word "lead" comes before "developer". Prioritize accordingly. Commented Aug 1, 2014 at 22:50
  • 6
    "Lead" is an adjective. In a Romance language they would be inverted. Happenstance. Commented Aug 2, 2014 at 3:45

7 Answers 7

24

When I'm working on something that needs concentration, I use the Pomodoro method (or rather, I work in timed blocks of 25 minutes with a few minutes break in between and don't remember if there was more to it).

Then when someone comes in, I can write down their name, say "I'm really deep into something, but I'll be at your desk in ten minutes" and continue. As I need to get away from the screen in my short break anyway, I'll walk up to them and see what the problem was.

Never had complaints. The "in ten minutes" is important.

1
  • 3
    I like that answer. As team lead, one of your responsibilities is to be available to your team. But it's always fair to say "I'm in the middle of something." Promising a response within a predictable time does help in getting folks to accept that answer.
    – keshlam
    Commented Jul 11, 2014 at 21:45
14

As lead you are now officially the roadblock. You should NOT be coding at all and your coding, if you must do it, should be lower in priority than any issues the devs have that need resolution. So yes suck it up and answer their questions.

Yes it can be frustrating, I am a lead too and I know. But you are managment now and the management tasks are higher priority than your individual devleopment. So yes, the dev stuck on his issue, the project status report, the code review, all of these take precendence over coding.

If you have to code, you should take the least complicated, easiest to drop and start over tasks. But I have never seen a team of over 2 people where the lead job didn't turn out to be fulltime if done properly. Lead is not some nice little pay raise. It is an actual job with new requirements and far different priorities than being a dev.

So how to handle the interruptions? Stop write down where you were and then go to the interruption. Then look over what you wrote down in order to refresh your mind before going back to your dev. Do not take on tasks in the critical path when you can help it. You cannot keep six other people making progress and expect to spend time your self on high profile critical tasks. You need to be focused on not creating avoidable delays for other people.

You can make email your preferred communication method, but then you have to accept that you will be causing product delays and the deadlines will need to be extended because you are too busy to do your primary job which is to lead not develop.

I have seen leads like this who spend 6-7 hours coding the most critical features and then have 6 devs who each need something different wait three days for the guy to get back to them (many of which are things like permissions that they cannot solve themselves) because he is too busy for them.

Then the project is delayed but he looks good because his part was delivered on time and everyone else's wasn't. This creates hate and resentment among the team and is counter-productive in the long run. You need to adjust your thinking when you are lead. You need to refocus your time. Other people's needs are now more important than the stuff you want to work on.

1
  • 3
    +1 - I don't think small team leadership is a full time job once you get your team up to speed, but it's certainly not something you can do well alongside doing full time development well. Everything else is a bandaid on the real problem.
    – Telastyn
    Commented Jul 12, 2014 at 0:58
4

You seem to already have your answer. Initiate closed door periods, putting up a sign if necessary that says, "No interruptions. I will respond to email when I get to a stopping point." You have to find a balance between your need for quiet and their need to communicate. You may need to block the time out on your calendar to make sure it happens. You can give this schedule to staff or just let them know that when the door is closed, they are on their own for a while.

3
  • You may need to block the time out on your calendar I've worked at two places where busy time in the calendar means they won't schedule a meeting but will stop by anyway. Where I am at now, it means almost nothing. Many people meander into my cube because "they're in the neighborhood". YMMV.
    – Bmo
    Commented Jul 11, 2014 at 12:39
  • If you don't have a door or people are ignoring your door, you may have to be more explicit. Put up a sign pr put headphones on, and if anyone approaches when the sign is up, you wave them off and point to the sign. As soon as you engage, you have sent the message that engagement is okay.
    – MJ6
    Commented Jul 11, 2014 at 12:48
  • "closed door periods" are all well and good but if you're a manager or team leader then leading the team should be your primary task. If your team cannot work but they don't dare disturb you because your door is closed then this is a problem. If you wish to continue coding then empower people as much as possible to minimise disruptions - this means giving them permission (and rights on the system of course) to do what they need to do and then backing them to the hilt afterwards no matter what.
    – Rob Moir
    Commented Nov 11, 2014 at 11:22
3

Interruptions are just a fact of life when you are in a lead position. The best you can do is utilize what tools you have available to minimize the interruption to yourself and to get the answer they need as quickly as you can. Ultimately it is your team and they need your input to move forward.

I'm not a big fan of defensive strategies like blocking out time as I think it sets the wrong tone for the whole interaction. Which is why I like RemcoGerlich's answer and have a couple of additional strategies to add.

Personally, I think instant message chat is a great tool to use for quick questions as well as asking for help. It usually has the advantage of not being an immediate interruption and you can finish your current thought before reading it. Even some questions are simple enough to just answer in a single response message.

Dev: "Hey, can you swing by my desk? I'm not sure how to integrate with this widget."

Lead: "Sure, 10 mins"

The other thing is if you have a daily stand up meeting, you are all there already. So when the meeting is done, it is a great time to get back to people or to be pulled over to someone's desk. If it's known that you are available at this time, some people will be able to delay their question until then.

1

Blocking out time in your calendar for the times you really need to work on things uninterrupted is a good idea, it's something that's quite common in my office.

Maybe have a meeting with the team and let people know that e-mail is your preferred communication method for things that don't require a conversation. Your reason to choose e-mail over a conversation is perfectly reasonable so hopefully they understand. It might also serve as an opportunity to to get the communication preferences of the rest of the team so everyone's on the same page and can work more effectively with each other.

The team members may think conversation is preferred over e-mail from your perspective as they might not have any idea what your preference is.

0

Come in early. Come in early and get your work done that demands concentration. You may find you work some longer days but you can clearly delineate your alone time and group time. Often If you prove your productivity you can leave at four, so that's a nice perk as well

0

You can tell everybody to email you either (1) the problem they are having or (2) that they'd like to meet. When you get to your email, you can come to THEM and meet in person if they didn't prefer to phrase the problem itself in the email.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .