5

There is a junior developer (1.5 years of experience) at my company. He is technically very knowledgeable and skilled. However, he is continuously asking for advice, confirmation, etc, to his superior, who sits in front of him.

His superior has talked to him about his lack of autonomy and tried a couple of things with no success. For example, the superior tried to establish a single interaction point after lunch, but the developer just accumulated in his notebook all the problems he found until that moment, and then just requested advice for each of them.

What other approaches can be applied to improve the developer's autonomy ?

  • 2
    That single interaction point is a good time to have the senior developer ask the junior developer to suggest solutions to his own problems, discuss them, select the best approaches and encourage the junior to forego the discussion next time (where appropriate). – Ant P Dec 14 '16 at 13:55
  • As to why he is asking advice: in your post he sounds insecure. About what is he asking for advice? Is this about the best possible solution, or just to get something to work? Code reviews also come to mind. He should solve a problem in a way he deems correct, and have someone more senior review it. – Edwin Lambregts Dec 14 '16 at 14:11
  • @JoeStrazzere I am another senior. I sit besides them. The senior from my question commented the issue with me, presumably seeking advice. – user44928 Dec 14 '16 at 15:23
  • @EdwinLambregts I don't know the reason why the junior seeks advice so much. I don't think it is related to insecurity, as he normally can arrive at a solution and argue solidly for it. I think it is more related to approval, or even just feeling the need to share the problem or achieve co-responsibility for the course of action. – user44928 Dec 14 '16 at 15:27
  • @EdwinLambregts re-reading my own comment, it certainly sounds like insecurity... – user44928 Dec 14 '16 at 15:59
17

Ask questions instead of giving answers

First, the superior needs to not give out answers or confirmation without the junior employee answering it. The conversation should go like this:

  • Junior: "Hey I have a problem with X can you help me."
  • Senior: "Interesting, what do you think the problem is?"
  • Junior: "I don't know and was hoping you can help me"
  • Senior: "Where do you think you should start?"

The senior/manager needs to encourage the junior dev to think for himself in order to promote this behavior long term. It is far easier to just give answers.

Read about the Socratic method as it can be a helpful way to do this. I often do this sort of thing when people ping me with questions I know they can answer. It's empowering to them because it helps them realize they can answer their own questions.

But it's more work for me than just giving an answer. Training people to answer their own questions is hard (but also rewarding).

Create space

Second, move desk locations and make it harder for the junior to ping him with questions. This is similar to your "single point of contact" time and may not work here but in many cases physical distance can help.

Recognize the junior's need for feedback/guidance

Finally, make sure the junior has enough feedback in order to feel confident. 1.5 years out of school isn't much. If a college graduate, keep in mind that the past nearly twenty years of this junior's life has included continuous feedback. This doesn't exist in the working world and can be a huge culture shock.

This might look like dedicated 1/1 times where the senior does provide some constructive feedback as well as positive reinforcement (you said the junior guy is good).

If the junior employee is worried about making poor decisions help encourage them that mistakes are ok and that your review processes (you do have them, right?) are where that should be caught. Some work cultures do not allow employees to make mistakes without consequences and if this is the case, make sure you realize the effect this will have on employees.

  • This is the most basic, and most effective, method of coaching. Asking the right questions gives the individual the power to affect their own environment, they become not only more autonomous but feel link they have more mastery of the subject (channeling Dan Pink). I cannot recommend this answer enough. – Ben Dec 14 '16 at 22:00
  • I teach students in software development and I agree with the answer. For all of their elementary, secondary, and college education, students are directly told what to do, they must follow directions/assignments, which is obviously unlike the open-ended work world. I coach my students that before they go to a team lead, they should (1) first ask and collaborate with their peers on the team, (2) prepare and propose one or two ideas/solutions and then go to their lead asking for their feedback on the proposed solutions, rather than for open-ended questions. – Kendrick Dec 17 '16 at 20:59
3

The Impostor syndrome is quite common in Junior Developers. Sometimes, what is needed is some ego boost. Does he know you think:"He is technically very knowledgeable and skilled"?

In order for talented devs to blossom, they need a safe environement and some validations. Some ideas:

  1. Praise him once in a while in front of peers.
  2. Ask him alternative opinions on different solution for other project.
  3. Give him a small project in which he would have control over the technical part but need to deliver to the business part (he'll come ask for business questions, and won't have time for technical questions).
  4. Instead of giving technical solutions, ask him to come with a list of solutions for the problem he is having. Then let him choose the best one.
2

I think your junior is doing fine and he is doing exactly what I want him to do, run everything by me that matters. He is a junior and as he is a junior, my first concern is that he doesn't screw up and very close to my first concern, that he doesn't screw us up. I like the way your junior checks with your senior: better safe than sorry.

Eventually, your junior will be socialized in the ways of the firm and he'll operate on his own, knowing in full what's expected and more importantly, how to do it in ways that are not in cross-prurposes with the ways of the firm. He's not repeating the same questions over and over again, is he? If his questions are all brand new, I'd say that your senior had better answer them.

You're seeing a problem, I don't. In fact, I see a good thing.

Considering all the minor disasters I had to clean up because somebody failed to consult somebody else, I'd say it'd be wonderful to have juniors like him. Your senior is annoyed that the junior is constantly consulting him. Look at it on the bright side, your junior is VERY easy to manage. Just about the last thing you should do is discourage your junior from asking questions. Especially if nobody documents much of anything at your workplace.

I'd seek to built up junior's confidence in their judgement by asking junior: "okay, you asked me but I'm going to turn this around on you. How do you suggest that we attack this issue?" Who knows, junior's idea might actually be better than mine :) If I am satisfied with junior's answer, I'll smile at them and tell them "Okay, you answered your own question. Now, get the hell out of my office :)" If I am not satisfied with junior's answer, I'll point junior in the right direction. Hopefully, over time, junior will get the way we think.

Ability and judgement are not the same thing. I know junior is capable, it's his judgement that I need to have confidence in and I'd say that his judgement is what I need to work with him to develop over time. There are good solutions but those solutions that are appropriate for our context are only a subset of the set of good solutions.

  • There can be too much of a good thing, though. What if the junior asks about details that simply don't matter, wasting my time? What if the junior keeps asking essentially the same question (possibly without realizing it is the same)? More things can go wrong than an absence of communication. – meriton - on strike Dec 14 '16 at 22:01
  • @meriton - You need me to tell you to tell junior that it does not matter and you need me to tell you to tell junior that junior is asking the same question? – Vietnhi Phuvan Dec 14 '16 at 22:16
  • I don't understand your question (could not parse the grammar, try simplifying), but your edit has improved the answer in the direction I wanted to recommend :-) – meriton - on strike Dec 14 '16 at 23:08
1

As a manager, I would start promoting that the employee attempt to solve his own work items first, and then ask for input on a the solution they came up with ( showing effort and initiative ).

There area slew of online resources to use to get them started towards a solution, and to validate his approach. I might even suggest that he assign a SR Developer as a mentor.

The other thing I would say is if he ever wants to move up past JR, they will have to develop the traits of initiative and effort to resolve your own problems ( tasks )

0

His superior has talked to him about his lack of autonomy

I do hope the feedback was more actionable than that: Feedback should identify specific things (in your case, a particular question), explain why it was good (or bad). For negative feedback, you might also point out better approaches.

If you simply tell them to be more autonomous, it does not address why they depend on you, and if they know no viable alternative, they have no option but to continue their behavior ...

But you didn't ask about feedback style, but about how to empower juniors:

  • When answering questions, your answers should not materialize out of thin air. Instead, you should show how you (or the junior :-)) can come up with the answer. For instance, if the junior asks about how to use an API, turn to your computer, open the API documentation, and look it up. In so doing, you teach the junior how to answer this question (and future similar questions) himself. For simple questions, the junior will see that he could have done the same himself, and feel empowered to do so. For complex questions, the junior may be able to do some steps, and only ask you about the difficult parts next time.

  • Allow the junior to make mistakes (guard against the effects of such mistakes through code review or by assigning them tasks where mistakes don't matter much). Give them constructive feedback on how to do better next time, but do make it clear that mistakes are normal and expected as long as they are not repeated. Under no circumstances should you show disapproval, let alone penalize, beginners for flaws they may not have known how to avoid, because doing so creates an incentive to run every little thing by you in an effort to delegate responsibility they can not yet shoulder. Instead, make responsibility easy to carry by permitting them their share of rookie mistakes.

And finally, there are those few cases where juniors do not learn in spite of your best explanations, and keep repeating the same mistakes, not showing the aptitude required for software engineering. Then, it is time to inform management that the junior is not working out, and reassignment or termination may be necessary.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy