← Back to context

Comment by mattlondon

2 years ago

Personally I want the seniors on my team actually delivering on the really hard stuff.

Helping juniors do their job is great and all, but you still need experienced people to work on the hard and complex stuff that juniors can't because they don't have the knowledge/experience/people-skills. No amount of pair programming can replace that.

You don't want to be in a situation where you have really really well implemented low-value features, but the high-impact and high-priority hard stuff was not done because some of your most experienced folks were helping the less-experienxed people write effective unit tests or whatever.

A senior engineer can work through a hard problem assigned to a junior engineer, resulting in a well-implemented hard feature and a less junior engineer. Just because a junior engineer is working on it doesn’t mean by default it’s an easy problem—how are you going to grow your engineers otherwise?

  • Some firms simply hire nothing but Seniors. You trained up a Junior-Mid-Senior? Cool, well offer him 20k more and call it a day.

    • > Some firms simply hire nothing but Seniors

      The firms that claim to do that almost invariably do not hire people with 20 years of experience, they hire people with 2 years of experience 10 times over. Sometimes that's fine. Usually it's not.

      9 replies →

    • This, sadly, needs to change.

      The pool for experienced senior level talent won't grow unless _someone_ spends the resources to hire and train juniors.

      The incentive being that they can keep the best juniors for themselves and let the others back into the pool for others.

You are taking the wrong lesson from the article if you think they are saying every (or even most) senior developers should be doing this. You absolutely don't want every senior developer spending their time mentoring/working with junior developers, but having a couple of those people on the team is a force multiplier and benefits the team as a whole. They may not have realized it when they hired him, but he found a useful niche and once the company identified it they should have changed his role to make it official.

Agreed. Tim was not doing the job of a programmer if he never actually wrote code that delivered value. Tim was a coach. Which is fine if that's what you hired Tim for, but I suspect that if you wanted a coach, you would've hired one. Hard features simply can't be done by juniors even given infinite amounts of time: they just don't have the skills yet, and to gain those skills takes years. Sure, they need a senior to help now and then, but if that makes the senior developers produce nothing, then what's the point for the company?? Just give hard features to people who are senior enough to do them, and if you really want the juniors to learn, let the senior share easier parts of that work (and walk through what he's doing) with the junior.

It's very nice of Tim to help everybody else, but doesn't anybody find it odd that all the other programmers need lots of help in the first place, so much that Tim has zero time to deliver anything himself? Seems that the problem is not with Tim, but with management that thinks it's ok for a professional to need help all the time, and for a volunteer like Tim to be there for them any time regardless of what he's paid for (which in this case, was story points as made clear by the author).

> Helping juniors do their job is great and all, but you still need experienced people to work on the hard and complex stuff that juniors can't because they don't have the knowledge/experience/people-skills. No amount of pair programming can replace that.

Or, it could be said, you need to refactor your codebase so no job is all that "hard and complex".

Should have had one of those seniors build it in the first place, eh, then juniors could be trusted to modify it. Or, what you say, he did? Then why is he "a senior" in the first place, if stuff is "hard and complex" because of how he built it...?

One of the points of the post is that this person also helped the seniors do their job better.

But yeah, the job of every senior cannot be to only help the juniors.