How to deal with Junior Developers

How to deal with Sr. Developers

  • (2 Pages)
  • +
  • 1
  • 2

23 Replies - 6902 Views - Last Post: 27 December 2010 - 08:11 AM

#1 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

How to deal with Junior Developers

Post icon  Posted 04 June 2008 - 08:30 PM

When I am given a task or a program to write I sit down with the Team Lead and have him/her explain what is needed: This usually consists of a set of usecases and sometimes actual requirements. I then ask a questions until I feel that I know what they need and have a vision of what I want to accomplish.

Now I go off and I design a solution maybe outline a few classes and then return to the Team Lead/PM with a description of what I am planning on doing.

SO, now I am the Team Lead. So I dole out this tasks to my Jr. Developers. Both roger out with very few questions and then both return with solutions totaly missing the point. So I broke things down again and they again rogered out with only a few questions. One comes back and is on the right track. Was able to spot all the holes and generally is off and running.

The other one sends me back a class that is just showing a lack of conceptual understanding. This makes 2 days one 1-2 classes that should have taken a few hours maybe an afternoon.

We have a very aggressive timeline and are plagued by unrelated issues that have held us back. In my frustration I reprogrammed the classes and sent them back to the developer. Having someone write your code for you seems to me to be a programmer's kick in the nuts so I feel bad -- but I just don't feel I have the time to hold someones hand while they figure it all out.

#1 If you were a Jr. Developer who thought you had a good solution just to have your Team Lead write new code how would affect you?

#2 If your are a Team Lead and your Jr Developer spends 2 days on a .75 day class (and does not have anything else done) how would you handle it?

Is This A Good Question/Topic? 3
  • +

Replies To: How to deal with Junior Developers

#2 no2pencil  Icon User is online

  • Toubabo Koomi
  • member icon

Reputation: 5187
  • View blog
  • Posts: 26,895
  • Joined: 10-May 07

Re: How to deal with Junior Developers

Posted 04 June 2008 - 08:38 PM

View PostNickDMax, on 4 Jun, 2008 - 11:30 PM, said:

#1 If you were a Jr. Developer who thought you had a good solution just to have your Team Lead write new code how would affect you?

My feelings have always been, that regardless of how I personally feel about those above me (in charge) I'll respect their decisions. If I truly felt my code got the job done, & was correct & met all requirements, & it was replaced as it was in your description, then I would set aside some time to go over the hows & whys. How could I have done better? Why was it so bad you had it do it all yourself?
Was This Post Helpful? 1
  • +
  • -

#3 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3093
  • View blog
  • Posts: 19,139
  • Joined: 14-September 07

Re: How to deal with Junior Developers

Posted 04 June 2008 - 08:40 PM

1. I would take it as a learning experience. If the team lead has an open line of communication, I would sit down and ask what I could to do to write better code in the future and things of that nature. (I'd be embarrassed though, since he/she rewrote it).

2. I would have a sit down with them, whether they wanted it or not. My father calls it "having a come to jesus meeting". Assess what the problem is. It could just be a time management issue rather then incompetence or lack of skills.

(The above is my opinion not based on any actual experience in this matter).
Was This Post Helpful? 1
  • +
  • -

#4 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: How to deal with Junior Developers

Posted 04 June 2008 - 08:42 PM

Would you have written the code for them? Or try the learning rout by trying to find examples or other code snippets that might help them figure it out?
Was This Post Helpful? 1
  • +
  • -

#5 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3093
  • View blog
  • Posts: 19,139
  • Joined: 14-September 07

Re: How to deal with Junior Developers

Posted 04 June 2008 - 08:50 PM

I think that would solely depend on the timeline. If the project had time, then I would go the learning route, since hopefully in the end, they will be better coder/employees for it.
Was This Post Helpful? 1
  • +
  • -

#6 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: How to deal with Junior Developers

Posted 04 June 2008 - 09:09 PM

Well one thing I didn't really write up which does affect the situation is that we are all remote. So I can't really come by the cubicle and chit chat at lunch and see how they are doing. I kind of need them to be autonomous as much as possible.

On the other hand they can't just ask me though the divider for a little clarification (course I do answer emails).
Was This Post Helpful? 0
  • +
  • -

#7 mensahero  Icon User is offline

  • I Desire...
  • member icon

Reputation: 17
  • View blog
  • Posts: 678
  • Joined: 26-May 08

Re: How to deal with Junior Developers

Posted 04 June 2008 - 11:49 PM

1. Its in my nature to flood you with so much question until I have a good grasp of what you the team lead want and if I came up with I think a good solution and it end up being rewrote, I would possibly be embarrassed and flood you again with questions then I'll possibly work overtime to get it right. I can't possibly sleep until I finally understand it.


2. If I were a team lead I'll probably flood them with lots of question to better confirm that they have a good grasp of what I want them to do. I will be the one who would be doing the questioning after I've explained the task. I wont let them start if I feel like they still lack some knowledge about the task.

This post has been edited by mensahero: 04 June 2008 - 11:51 PM

Was This Post Helpful? 0
  • +
  • -

#8 Yakyb  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 21
  • Joined: 04-June 08

Re: How to deal with Junior Developers

Posted 05 June 2008 - 02:38 AM

View PostNickDMax, on 4 Jun, 2008 - 08:30 PM, said:

#1 If you were a Jr. Developer who thought you had a good solution just to have your Team Lead write new code how would affect you?

#2 If your are a Team Lead and your Jr Developer spends 2 days on a .75 day class (and does not have anything else done) how would you handle it?



1.) i'm very much a junior developer and personally i wuld love for one of the senior guys to sit with me for half an hour or so pick through my code and discuss better methods of doing things so long as it was done in a helpful manner, i would hate for said senior developer just to rewrite it and not inform me of the problems in my code

2.) It depends entirely on the relationship with the developer i myself have just started out and everyone knows im willing to learn and better myself and i feel my salary reflects this however where the expectations higher (i.e i was earning a little bit more) then i would have no gripes with a small repremand (sp?) or a senior developer being on my back a little more
Was This Post Helpful? 1
  • +
  • -

#9 Programmist  Icon User is offline

  • CTO
  • member icon

Reputation: 252
  • View blog
  • Posts: 1,833
  • Joined: 02-January 06

Re: How to deal with Junior Developers

Posted 05 June 2008 - 03:03 AM

Personally, I would not have finished a Jr. dev's code, but rather given him a few hints to get him moving in the right direction. Doing the work for him will undermine his confidence and will not teach him much. This could also cause him to become dependent on you. The best thing for a jr dev is for him to go through the painstaking process of figuring something difficult out on his own. Let him know that you are there for questions, but don't be too available, and encourage him to work on a solution before coming to you by asking him to detail the steps he went through to try to find an answer before coming to you.

"But I don't have Time for Hand-holding"
Then I recommend hiring Jr. Devs who are a bit sharper or have more experience. I would also not be giving time-critical work to Jr. devs either (unless you get lucky and find a good one)

If, after a reasonable amount of prodding, he still is not meeting expectations, talk with him privately and explain what you expect and where he is not meeting expectations. Make sure you have a set time frame within which he should show a specific amount of improvement. If it doesn't happen, then you need to find someone else.

When I started working at my previous company, there was a guy who had been there almost a year. Within a week of my arrival he was asking me all sorts of questions that he should have known the answer to. I spent a lot of time helping him - so much so, that I started documenting it. A few months later he was gone. It sucks, but sometimes you just can't afford to keep someone on if they are not pulling some weight after a reasonable grace period.
Was This Post Helpful? 2
  • +
  • -

#10 Mikhail  Icon User is offline

  • Bastard Operator From Hell
  • member icon

Reputation: 58
  • View blog
  • Posts: 1,378
  • Joined: 26-October 07

Re: How to deal with Junior Developers

Posted 05 June 2008 - 08:03 AM

The way its done where I work, JR Developer writes the code, SR checks it, however newbies usually work with SR by their side, as for me this doesn't apply I am only contractor.
Was This Post Helpful? 0
  • +
  • -

#11 Winstinology  Icon User is offline

  • I'm pretty good with a laser mouse..
  • member icon

Reputation: 7
  • View blog
  • Posts: 958
  • Joined: 08-May 08

Re: How to deal with Junior Developers

Posted 05 June 2008 - 12:44 PM

View PostProgrammist, on 5 Jun, 2008 - 03:03 AM, said:

Personally, I would not have finished a Jr. dev's code, but rather given him a few hints to get him moving in the right direction. Doing the work for him will undermine his confidence and will not teach him much. This could also cause him to become dependent on you. The best thing for a jr dev is for him to go through the painstaking process of figuring something difficult out on his own. Let him know that you are there for questions, but don't be too available, and encourage him to work on a solution before coming to you by asking him to detail the steps he went through to try to find an answer before coming to you.



This is exactly what my Tech School instructor did with my class and I. And I think that it really is the best method for teaching and learning when it comes to programming. My program was only about 10 months long and it worked so well that I was able to get a Programmer/Analyst III Govt. position starting off. And I fully understand about 90% of what I am doing. And that ain't half bad for only going to a Tech school for 10 months.
Was This Post Helpful? 0
  • +
  • -

#12 Programmist  Icon User is offline

  • CTO
  • member icon

Reputation: 252
  • View blog
  • Posts: 1,833
  • Joined: 02-January 06

Re: How to deal with Junior Developers

Posted 05 June 2008 - 02:57 PM

View PostWinstinology, on 5 Jun, 2008 - 12:44 PM, said:

This is exactly what my Tech School instructor did with my class and I. And I think that it really is the best method for teaching and learning when it comes to programming. My program was only about 10 months long and it worked so well that I was able to get a Programmer/Analyst III Govt. position starting off. And I fully understand about 90% of what I am doing. And that ain't half bad for only going to a Tech school for 10 months.


Been "preaching" this method of teaching programming for years and it's good to finally hear someone agree.
Was This Post Helpful? 0
  • +
  • -

#13 Winstinology  Icon User is offline

  • I'm pretty good with a laser mouse..
  • member icon

Reputation: 7
  • View blog
  • Posts: 958
  • Joined: 08-May 08

Re: How to deal with Junior Developers

Posted 05 June 2008 - 03:20 PM

View PostProgrammist, on 5 Jun, 2008 - 02:57 PM, said:

Been "preaching" this method of teaching programming for years and it's good to finally hear someone agree.




Well it's the same with a lot of professions you know, not just programming. For instance, say you start at a really nice, high-class dining restaurant as an entry-level cook. They have a system, a menu, and a set way they do things. First off, the Chef isn't going to give you a $80 a plate rack of lamb to prepare and cook without showing you, and walking you through it at first. He would be losing time and money for the business. That method is 100% non-cost effective. To be truthfully honest, whoever uses methods like that, as in the case of the poor low-level developer, is ignorant for using such a method as sink or swim. Don't get me wrong, that works in some cases, but when there are time-lines and budget restrictions to be followed, if they mess up, thats on your hands buddy. Then to turn around and write the code and throw it back in his face. Not cool in my opinion. When I read that I felt bad for the poor kid you know..

That and you should also know the strengths and limitations of your own employees. Glad he ain't my team lead..
Was This Post Helpful? 0
  • +
  • -

#14 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: How to deal with Junior Developers

Posted 05 June 2008 - 06:44 PM

Quote

Then to turn around and write the code and throw it back in his face. Not cool in my opinion. When I read that I felt bad for the poor kid you know.
I too felt bad. If someone did my code I would kinda feel like I was kicked in the nuts.

On the other hand. When I was in the Navy my First Class used to say, "It is my job to let you have enough chain to run around and get the lay of the land, but every once in a while I have to shorten the chain to keep you out of trouble."

If I let this poor developer spend 2-3 days per class "learning" then what happens when all the other developers are ready to begin testing but this portion of the code is not done. Then I have to go to the project manager and tell them that we were limping along while this developer learned.

Then again, here is my lesson learned on this:

I wrote 90% of the class, and then lost another day helping the developer understand how my code worked. I think there was a lot of learning going on, but we still wasted another day. It MAY have been better to just go the learning rout all along and spent today teaching how to write the class, rather then explaining how it works.
Was This Post Helpful? 0
  • +
  • -

#15 Programmist  Icon User is offline

  • CTO
  • member icon

Reputation: 252
  • View blog
  • Posts: 1,833
  • Joined: 02-January 06

Re: How to deal with Junior Developers

Posted 06 June 2008 - 03:27 AM

View PostWinstinology, on 5 Jun, 2008 - 03:20 PM, said:

Well it's the same with a lot of professions you know, not just programming. For instance, say you start at a really nice, high-class dining restaurant as an entry-level cook. They have a system, a menu, and a set way they do things. First off, the Chef isn't going to give you a $80 a plate rack of lamb to prepare and cook without showing you, and walking you through it at first. He would be losing time and money for the business. That method is 100% non-cost effective. To be truthfully honest, whoever uses methods like that, as in the case of the poor low-level developer, is ignorant for using such a method as sink or swim. Don't get me wrong, that works in some cases...


Ok, maybe I was wrong about us agreeing. I think you may have mis-interpreted what I was saying. I'm not advocating hand-holding. In fact, I'm completely against it. I call my method of teaching the "tough love" method because it seems harsh, but anyone willing to stick with it will come out a better programmer. Those who give up probably don't belong in the profession and are better finding out now than 2 years down the road because they were coddled. The things you are talking about are team/company procedures. Of course the chef is going to teach his trainees how to prepare the lamb, just as a team lead will teach his jr. devs how to access and use a CVS repository. This is not something they typically teach at universities (although they should). But, the jr. dev should come with some knowledge of how to program. But there's a problem with this analogy. If a cook showed up for a job interview never having poached an egg, braised a lamb, or made a simple Crème anglaise then you would think that he would not get the job, but traditionally, the fine dining world is a lot different than the software development world and they tend to bring unskilled cooks in as apprentices and then promote them through the ranks (commis, demi, de partie, sous, etc), so the analogy is a bit facile in this case. No one is going to hire a completely unskilled dev and teach him from the ground up how to program. To take it a bit further, if you jr. dev still can't grasp basic concepts, then there is a problem. I don't have time to teach OOP or language syntax or something equally basic to a developer. Doing so is a 100% non-cost effective way to do business. I expect a jr. dev to have a certain level of knowledge. But what is key is the ability to learn and help himself. And this is a skill that many people graduate without obtaining. Enter the tough love method. You can't teach someone self-sufficiency by holding their hand. I'd Let them him know that I'm here for the really "tough" problems, but I expect a full effort to solve the problem before coming to me. It sounds a lot like the RTFM method, and it is, but with a few guiding nudges thrown in.


View PostWinstinology, on 5 Jun, 2008 - 03:20 PM, said:

...but when there are time-lines and budget restrictions to be followed, if they mess up, thats on your hands buddy. Then to turn around and write the code and throw it back in his face. Not cool in my opinion. When I read that I felt bad for the poor kid you know..

That and you should also know the strengths and limitations of your own employees. Glad he ain't my team lead..

A bit harsh, possibly. I'm guessing that you have experience being a team lead in a dev shop?
Was This Post Helpful? 1
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2