views:

126

answers:

7

Hi all

Just a quick question

Here's my situation:

  • I've been maintaining, extending and creating websites against a CMS for the last 18 months
  • In that time I've learnt a LOT more about ASP.Net, javascript, and of course the quirks of the CMS we are using
  • My manager wants to get others involved, and I'm expected to mentor another programmer whilst they work on production code

Now, I've got no problem mentoring someone and it would be great for me to not be the only one with the skillset. But what I HAVE got a problem with is mentoring someone within an agreed timescale of the piece of work (10 days in this case) AND expected to deliver the product to the same standard.

I guess what I'm getting at is: 18 months experience != a few days mentoring, not to mention the level of C#/.Net/ASP.Net/Javascript required may also not be up to scratch.

Am I right to think this is a little, wrong?

UPDATE: For those asking the question about the mentoree, it's likely they will have no real experience with the CMS and it's possible that their experience with C#.Net/ASP.Net may be EXTREMELY limited.

+2  A: 

I think this really depends on the skillset of the guy you're supposed to mentor. If he's an experienced dev who has a history of learning new technologies then I guess it's doable. Otherwise it's going to be tough.

NB: I don't have experience in exactly the same situation so take this with a grain of salt.

Jakub Hampl
@Jakub, we do have an issue in our team where-by many developers have not been given the opportunity to pick up our latest technologies, so the person I mentor may have been working on older technologies for the last few years and only had their toe dipped ever so slightly in the water of the new technologies (!).
Mantorok
I think it doesn't matter so much what technologies you have experience learning. What I meant more is like - if you already know 10 programming languages, the 11th isn't that much of a deal. If it's the second then you're screwed. Again if you already worked with 5 CMSs then the next one won't likely surprise you that much. Especially if you got an experienced guy to mentor you through.
Jakub Hampl
+1  A: 

This is a common management problem. Having a knowledge transfer plus a little mentoring will not result in someone who is 100% up to speed.

You should try to come up with a "ramp up" time frame so that you can more accurately estimate when the new developer can contribute roughly as much as you do to the project.

Giovanni Galbo
+1  A: 

Personally, I think it is ridiculous to put this type of time scale on something like this. As @Jakub says, "this really depends on the skillset of the guy you're suppose to mentor." I've been in similar positions where I have 1 week to get someone up to speed on something I've spent the last 2 1/2 years learning, researching, and developing. I picked the most important aspects and did the best I could.

All in all, there are too many uncontrolled variables in my opinion. Just prioritize and make it clear that the guy you are mentoring has some serious studying ahead of him.

dboarman
+1  A: 

Limited experience of technologies involved and no knowledge of the CMS... I find it extremely unlikely (read: impossible) that he'll be able to produce production-quality code in 10 days. Not only that, but this will also slow you down.

Realistically I'd try to lower management's expectations as much as possible as soon as possible. Privately, I'd fantasize about beating someone up with a rolled-up copy of The Mythical Man-Month.

Manos Dilaverakis
+1  A: 

It is hard to generalize because some developers need a lot more mentoring then others.

On one project, I spent a month mentoring a new developer, with me holding his hand, he accomplished slightly more in a month, than an equally inexperienced developer did in a couple of days.

It also dependents a great deal on the project. A well structured and documented project should be much easier for an experienced programmer to dive into.

mikerobi
+2  A: 

My experience has been that, no matter how smart and awesome the new guy is, it's not reasonable to expect a several day learning curve. In general (insert many caveats here), I expect that the new guy will be fully ramped up in about 3 months. If it's more than that, there's probably a problem (or the thing is just REALLY hard!). If it's less than that, I get nervous and I await future problems, because we almost certainly skipped something!

I'd agree that for any development, there's 2 points of lag

  1. the new guy doesn't do things as fast as the old guy, until he's been there a while
  2. the old guy isn't working at 100% efficieny because he's teaching the new guy.

In a big team this fits into the wash of people being people - people come, people go, people are always learning new things - so they are fast one week, and slow the next.

But in a small team (sounds like it's you plus the other guy), this can be rough.

It's worth negotiating with your manager and pointing out that 2 people will not immediately be able to do twice your current workload. Chances are that the first month, you'll manage about 75%-85% of your workload, while the new guy will manage the work at maybe 50% of your speed. After the first assignment gets done, chances are that you'll be able to get closer to your regular pace, while the new guy will need 2-3 more assignments to reach full throttle.

bethlakshmi
A: 

Sometimes 2 weeks is all that's needed for a new guy to start being productive. Without knowing what the requirements of the new guys work is it is impossible to tell.

For example, the work might be just making some css changes to your existing CMS. In that case, 10 days is overkill as you should be able to explain the relevant styles in short order.

Another example would be making minor changes to a specific module. Let's say you they just need to add a field. Again, 10 days, even training a very new guy should be more than enough.

Point is: the scope of their immediate requirements will define whether the time involved is good enough.

btw, another factor is your own work speed. Don't take this the wrong way, but the new guy could pick up things in a couple hours that you spent weeks learning. We're all different with different backgrounds and capabilities. Of course, by the same token, the new guy might spend weeks on a piece that you figured out in an hour. ;)

Chris Lively