25

I'm currently working on a project with a new programmer. How do I help him speed up his work? He often asks me questions, and I pair programmed with him in backbone.js (a part of the project).

Now I want him to handle the project himself so I can concentrate on other things to speed up the process. He doesn't want to Google things or ask on a forum if a problem comes up. He just comes to me. What should he do? What should I do? When I force him, then he does things quickly. How can I motivate him to do more work on his own?

0

10 Answers 10

42

Say "I'm a bit busy right now, you can ask on stackoverflow.com if you're really stuck." Eventually he will hopefully get the clue. Also, next time he comes to your desk say "Hmm I don't know, let's Google that and see..." or "Let's check the API docs." The combination of these two has worked for me with co-op students in the past - eventually they see how I search and find information, then they learn how to do it as well.

7
  • 16
    Awesome, train him how to find the answers and simultaneously approve of how he found them so he knows it's OK and expected. Your new guy will be a lot less nervous. Jul 15, 2011 at 18:41
  • 7
    Awesome answer. I especially like that, even if you know the answer to his question, you google it with him.
    – Jon
    Jul 15, 2011 at 18:51
  • 2
    Friends don't let friends google alone.
    – Xeoncross
    Jul 16, 2011 at 1:34
  • 1
    Feed a man the google. Feed him for life. Jul 16, 2011 at 3:00
  • 1
    The people on StackOverflow will let them know if the question is not a good one/does not make sense. If this student is really struggling, ask them the next day how the question on SO went. If they say they didn't get any answers, maybe review the question and let them know what you think is wrong with it, and suggest they edit/repost. If you really need to, show them how to create an account on SO, show them the basics, give them a link to the FAQ, and how to post a question. In my opinion, SO should only be posted to if a web search does not yield an adequate solution. Jul 18, 2011 at 15:57
23

Much like is required on stackoverflow.com when questions are asked, say "show me what you have so far". If that is a big fat nothing, send him packing, with some hints on what to search for of course, until he has something concrete to ask about.

2
  • 4
    To expand on this once you see what he has, ask what he has tried so far? Point him in directions of self sufficiency. And be blunt. If he wants to work as a programmer he needs to learn to deal with some of it himself. Then make time and take initative to show you are still going to mentor by reviewing and helping him at predetermined times. Jul 16, 2011 at 12:34
  • @Chad +1000 if I could. Not only does it help you narrow down search paths if you know what he/she has already tried, but you can then suggest things that you would try that they havent. "What have you tried." Well, I googled for [this]." "Give the docs [here] a look and tell me what you find." Basically, give them insight into how you would solve the problem and instill an expectation for what they should have tried before coming to you. Jul 16, 2011 at 18:16
8

The best way to get someone up to speed is to... well, bring them up to speed. It sounds as if you are being pretty harsh on the person. You should be encouraging questions, not squelching them to get the results you are after. Even great developers do not know everything when they get to a new place. Now if his questions are along the lines of "How do I split a string" (aka, easily google-able), then you can blow him off. But try to appreciate the fact that people cannot be instantly productive at a new job, and you should expect lots and lots of questions.

1
  • 1
    Yup! Be kind to them! Teach them as much as you can. The number of questions will subside after a while, and you might even make a new friend =)
    – Nailer
    Jul 22, 2011 at 8:53
4

Could it be a confidence problem? If it is possible that he's asking you all these questions because he's scared of failing, it might be good to talk with him about that.

For example, when I mentor interns, I let them know that they are going to fail at some point. Failure is part of the game. But, learning from the failure can happen when they ask themselves questions like, "what have I tried to do so far?" before they come to me for answers is what is really important. When they begin asking themselves questions, and fighting for answers, their knowledge and confidence grows.

3

It could just be an issue of self-confidence, where he doesn't think he's capable enough on his own to produce work that meets your expectations. This is pretty common for new developers that get paired with senior ones.

Perhaps instead of "forcing" him to "go away", try encouraging his work and challenging him to tackle problems on his own. I'd be a pretty safe bet after he successfully completes some tasks without your assistance, he'll grow more accustomed to it and eventually loath coming to you for help.

1
  • +1- This is dead on. He might simply be trying to be responsible, by asking for approval of his work, instead of checking in horrible code. The toughest part of coding in the beginning is trying to decide if you did things correctly. The assumption is that senior developers have some sort of "black magic" that allows their code to be amazing. Jul 22, 2011 at 13:10
1

Set aside some uninterruptable time for yourself. The pomodoro technique recommends 25 minute intervals. If he shows up in the middle of it, just say you'll come answer his question afterward. If he doesn't really need your help, he will have already found the answer by then. Eventually, he won't bother you for the simple stuff.

0

It seems like you have trained him that he can always come to you for an answer. Furthermore, it seems like trained him to think he can use you as a crutch for things he is not comfortable doing.

Instead you need to let him know that you are not his only resource. Show him some of the ways you would go about finding the answer rather than just giving him the answer. You said he can get work done when pressured, so it might be that he is lazy and you are the easiest solution. Remember, you do not always have to say yes. If you have more important things to do, tell him that you would love to help, but have too much else to work on.

0

If the question has a short answer, then just answer it. If explanation is required, and you are not the authority on the subject, or if you don't know the answer, then tell them where to go look. Eventually you should be able to tell them where to look in a few syllables. "... HTML select?" "Google: select MDN" "How do I ... checkbox?" "MDN". "Oracle time zone conversion?" "RTFM 'at time zone'" If the questions are inappropriately frequent, then you will need to somehow signify that you are unavailable.

0

Why is he coming to you? Is he afraid of making a mistake and thus comes to you so that you could be used as an excuse if something doesn't work? Is there too much project-specific knowledge you know that he couldn't find easily on his own? You may want to consider why whatever it is that you do is asked here.

You should see how far is he getting on his own and how confident is he in his abilities. How quickly upon having a problem is he coming to you? Have you considered that you could be a mentor to this new programmer and so he is trying to shadow you so that he knows what you do, how you do it and with whom you do it.

0

Set a time where questions can be asked without interupting you. It's odd that this person only asks questions that can be Googled and nothing specific to your projects or how your team does things. Start tracking the questions. You frustration may be clouding your perception of the problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.