18

I'm a developer working alongside a young junior developer. Jimmy (not his real name) is reasonably astute, but always comes to me when he experiences minor obstacles. I understand, that nobody can be expected to know everything and needs help from more experienced people occasionally, but Jimmy is constantly distracting me with questions like "Why doesn't this work?", and if I reply "Have you run it through the debugger and found the line that's causing the exception?", He'll usually say "No, I thought you might know what's wrong" In short, he's coming to me as first resort rather than a last resort and this is taking up my time. He doesn't seem to get that experience doesn't mean you know everything, it means you're more able to figure out a solution. I've tried explaining this, but he is still giving up at the first hurdle. I want him to know that he can come to me for help, but he needs to really try to figure things for himself as much as possible. Any advice would be welcome.

in response to Pay, by junior, I mean a fully employed young adult who is inexperienced.

Muffin Man - You've highlighted my concern about not wanting to become unapproachable. It's important that he does seek my help with stuff he can't be expected to grasp. As a little bit of background, he recently made some changes that fixed one thing, but broke something else and could have been very costly if it hadn't been spotted by the testers. After this, I said I wanted to review his code before it's checked it in to main branch. This isn't a punitive measure but he may now be feeling wary of doing anything. I'm asking how to deal with him in a manner that will give him more confidence in his own abilities rather than less.

6
  • 1
    Did you try telling him this? Commented Sep 1, 2016 at 17:03
  • 1
    Perhaps he doesn't know he's supposed to run it through the debugger but doesn't want to say that directly.
    – Dan
    Commented Sep 1, 2016 at 17:17
  • 3
    So, uhh, what resources have you looked at, what have you tried, and what happened? You're not just running to workplace.stackexchange.com as your first resort, are you? ;) Commented Sep 1, 2016 at 19:08
  • 2
    @Carpetsmoker I've found that using the direct approach only works on certain personality types. Those who are somewhat insecure will stop asking you for help at all even as a last resort and those who are both insecure and passive aggressive will make a dumb comment about why they stopped coming to you for help when you ask them about it. Commented Sep 1, 2016 at 19:16
  • 3
    Possible duplicate of Untrained intern; how do I get him to do problem solving on his own?
    – gnat
    Commented May 15, 2019 at 7:02

5 Answers 5

21

Make a list.

I've worked with people like this before and in my experience, the best thing you can do is make him a list. Spend a few minutes thinking of all the things that he should generally try before bugging you. Include "have you searched for the error" and so on.

Once you have the list, explain how it's going to work. You're not going to answer him until he's done everything on that list. That way you can say "Have you tried ____ ?" and he'll know already that you're going down the list.

And here's the key:

Never stop what you're doing to answer him. I'm not kidding. Unless there's an emergency or he's under a hot deadline (which Juniors generally don't have anyway), you put him off. Even if you actually have time and aren't doing anything important you still should put him off. Set a time that is at least 15 minutes in the future, if not 30. Don't say "Come back in 15 minutes" but rather "I'm in the middle of something right now, come back at 1:30 and we'll go over it".

This does several things.

  1. It teaches him that you (and everyone else) aren't at his disposal and to respect other's time.
  2. It makes it so it's not easier to bug you than to try to figure it out himself.
  3. It encourages him to figure it out himself since that will be likely be faster and he has time to kill anyway.

Basically, you have someone who is trying to get you to do his work for him. If you make it harder for him to ask you (and formalize the process so it can't be a "hey, can you help me right now?" sort of thing he will start to hammer at it himself.

That's what we all do. We hammer at problems because we often don't have a choice and can't be rescued. When you stop rescuing him and force him to hammer at it until he's genuinely as stumped as anyone else would be, he'll grow and be the programmer he should be.

EDIT: He needs to learn what it truly means to be "stuck" and obviously, he doesn't yet. This will help teach him.

13

In short, he's coming to me as first resort rather than a last resort and this is taking up my time. He doesn't seem to get that experience doesn't mean you know everything, it means you're more able to figure out a solution.

If you just keep making it easy on him, he'll keep coming to you. That's just human nature.

Next time he comes to you, just repeat this simple question:

What have you tried so far?

If he says he hasn't tried anything then just tell him to come back when he's tried X, Y, and Z (whatever is appropriate for the problem at hand). Make sure he has done the relevant amount of work before you actually dig in and help.

After a while, if he still comes to you, ask the question again, and when he tells you he hasn't tried anything, just look at him until he remembers what he is supposed to do.

Eventually, he'll get the message. Or if he doesn't, that's when you need to have a chat with your boss about Junior.

4
  • 3
    Should be mandatory reading for all new hires: blog.codinghorror.com/rubber-duck-problem-solving - from the font of StackExchange, directly. Commented Sep 1, 2016 at 17:26
  • @WesleyLong - Agreed. At the very least, everyone should write down their question first. I always do before I IM my boss and I end up deleting a fair amount of them before they are ever sent. Commented Sep 1, 2016 at 22:00
  • 1
    The guy sitting next to me has an actual tiny 1 inch rubber duck stuck to his screen.
    – simbabque
    Commented Sep 2, 2016 at 10:50
  • Don't tell him what X, Y, and Z are, though -- help him to figure it out for himself.
    – Caleb
    Commented Sep 2, 2016 at 18:25
1

Start by scheduling a time and place to ask you questions. Just because you're the mentor doesn't mean you have to be available whenever he feels like it. At this point, set 2-3 a day.

Next, push back on his questions by asking what has he tried. You're trying to teach a process on how to go about finding solutions. Give him time, he's spent many years in educational systems where teachers wait a few seconds and if no one comes up with an answer, the teacher just gives it to them. It's an old habit to break.

Make him take notes. Part of his training is to build his own "Help." This puts him on notice that you don't expect him to keep asking the same questions over and over.

Encourage him to come up with the worst hacks ever. So what? You'll work with him on other solutions. Good teachers let students fail longer than normal, but make an effort not to discourage them. This is easier said than done which is why teaching is so difficult.

1

How I handle this situation

  1. I know the answer to the question that I was asked immediately
    • Answer it
  2. I don't know the answer, but I think I might know and I have time to help
    • I help
  3. I don't know the answer, I think I might know but I'm in the middle of something
    • Offer a quick bit of advice that might get them in the right direction. Explain I'm currently busy looking into something and that I'll stop by later in order to help.
  4. I don't know the answer, I have no reason to think that I can actually provide assistance, but I think I know who they should ask
    • I tell them they need to ask that person who should be able to help them.
  5. I forgot to go back to the person. It's been a couple of hours. They are still stuck and they come back for help.
    • This is my bad. Unless I'm literally so buried that I can't spend 20 minutes to an hour trying to help this person, I should attempt to help them.

My personal opinion on how you can help this person become a better coworker

Just let him know explicitly your expectations. If he comes to you and asks "Why doesn't this work" and you try and help them and find that he hasn't tried anything. Tell him that you expect that he has put a reasonable effort into solving the problem on his own. Give examples of what you feel that is. Explain to him what you explained to us. Explicitly tell him that you don't know everything and he shouldn't assume you do. Finally, again, tell him what you told us. You don't want to discourage him from asking for help, but you want to make sure he spends a little time trying before waving the white flag.

Finally, you need to identify what your responsibility is. Are you the mentor? Is management expecting that you are to mentor this person? If so, helping him is part of your job. Good management should realize that this takes away from your bandwidth. You should realize that ideally, your goal is to help him become self sufficient, and he buying your time on credit. Hopefully it gets paid back with dividends.

-1

OMG, I'm dealing with this RIGHT NOW, with someone who was actually hired in a senior-level position. (As it turns out, he was never tested coming through the door.)

If it's not company-specific "tribal knowledge", my standard response is "Google". I've also had to have a conversation with my supervisor, because there have been situations where this person has literally bugged me all day long. My supervisor agreed that it's important at this point to flush out how well this guy (who was hired as a "senior") can do independently. I also learned that my boss suspects that this person's been able to hide this skills lapse behind my predecessors - but agrees that this behavior will be unfit for the projects we have on-board for the future.

At one point I spent time on directing the guy to use solution "A" for a problem, but he got the jitters over whether we were authorized to use such an approach (but refuse to ask our boss), and did something else anyway. After that, I was done. I don't have the authority to direct his work, so it's foolish for me to take implicit responsibility for what he does.

You must log in to answer this question.

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