Hacker News new | ask | show | jobs
by criddell 2679 days ago
One thing that I would say is missing from your list is that a senior developer should actively be working with junior developers. Not necessarily as a mentor, but they should be available to help less senior people improve their craft.
2 comments

I agree this is an important skill (and attitude), but whether it's a core requirement for senior probably depends on the size of your shop. Senior devs who are keen to mentor, passionate about fixing organizational flaws (process development), and are good at managing upwards are starting to tick boxes for Team Lead or engineering management.

If the team is big enough to support it, I think it's acceptable to have a senior dev who doesn't give a lot back in terms of mentoring but handles their projects and doesn't create messes.

What's the next step up from Sr then?

I agree that you don't have to mentor people but I think that makes you way less effective than you would be normally. Now you may be making a distiction on working with others and mentoring but I think it's the same, if your helping others become more effective at any task thats mentoring.

Ive also seen a tendency of people who are excellent solo to make broader scope problems due to less trust or just less communication with others.

I'm also always very worried when I hear a piece of software was written by one person.

Some people just don't enjoy teaching that much. I think generally most people get satisfaction from helping others, but some devs just seem to prefer working mostly on their own. They still have to write pragmatic and maintainable code (the "dont make messes" part), and they don't level up others in the business, but they can still be incredibly valuable.

In smaller shops, there really isn't anywhere "further" to go past Senior unless you want to take on leadership of other devs. And it makes sense, in a lot of cases once you get to a certain level of experience the most valuable thing you can do is pass on some knowledge and act as a multiplier for others.

You can lead without being a manager, eg lead by example, lead without force, lead by halping when asked, or providing guidance when asked. That's all mentoring. That's all pure technical. We may be agreeing.

But I wouldn't want to be in a place where there was just good at coding was the end of my growth.

At some point your effectiveness only comes from being a force multiplier - by helping other people getting ahead.
That is impossible for most, where would you get all juniors? People are only junior for a couple of years in a 40 year career, should we assign a team of seniors to mentor each junior?