6 ms·
Ask HN: Two Senior Engineers on a Team?
Would you say it is a bad practice to have two senior engineers on a team, where one is the team lead and the other is not?
To me this just seems like a waste of a senior engineer, you could replace the second senior with a mid-level and have the senior lead their own team, which allows the mid-level engineer to grow and reduces head-butting.
- gregjor 4y agoI would prefer an entire team of senior programmers. That way maybe you get something like Unix or C or Oracle out of them rather than months of arguing over React vs. Vue. Seriously, skills multiply. If two senior people can’t get along and complement each other one or both of them shouldn’t be called “senior.”
- injb 4y agoExtremely this. Junior or mid-level developers need to be surrounded by senior developers, not the other way around.
- gregjor 4y agoThere's a sweet spot in the senior to junior ratio that varies based on the scope and scale of the project. I find that I can only handle three or four junior/mid-level programmers in a mentoring role. More than that and I'm spending all my time herding cats. I wasn't actually suggesting excluding junior programmers from projects, just that more senior people should be a plus in most projects. It's good to keep in mind that junior/mid/senior are shorthand for a spectrum of abilities, not hard milestones in a career. And where a person sits on that spectrum depends on the project, domain, and team, not on number of years or jobs listed on a resume. Some more junior programmers bring a lot of talent and enthusiasm to a team, some need more guidance and deliberate mentoring and practice. Some understand the business domain, some don't. A lot of individual personality comes into it. I've worked with juniors who need almost no day-to-day supervision, and I've worked with so-called senior programmers who need their work checked every day lest they go off into the weeds. The main ability I would look for in a junior programmer is communication, both listening and voicing ideas and opinions, attention to detail, caring about the business domain, and getting along with and cooperating with other team members. If they simply can't learn to write production-quality code that will be evident fairly soon (if they even get through the interviews). It's the people who can write code but can't work with a team or larger organization who drag projects down.
- ironmagma 4y agoI agree in principle, however in practice someone is considered (read: hired as) senior as long as they’re over X years of experience (in addition to a host of other variables). It would be nice if ability to co-operate was a hard requirement though.
- gregjor 4y agoI know how it works. I have worked as a programmer for over 40 years, so I'm "senior" in terms of years of experience. But in some contexts I wouldn't think of myself as senior. It depends on the project and the team and the tools. I got involved with a financial application a couple of years ago, the senior developer has fewer years programming than I do but he knows a hell of a lot more about the application domain and trading algorithms, so in that context he's senior to me. I've worked with programmers almost 1/3 my own age who are senior to me in some aspects. Humility and knowing that you don't know everything are part of calling yourself "senior" in my opinion. Ability to cooperate should be a hard requirement. History and actual studies have repeatedly demonstrated that individual personalities and team dynamics (mainly around communication and cooperation) are first-order drivers of project success. Any programmer with a few years experience knows that one person on the team can derail the project with conflict, and that is far more damaging than choosing the "wrong" language or framework or tabs vs. spaces. A programmer who can't communicate (both with the team and with management and customers), cooperate, compromise, mentor junior programmers, listen to ideas, and put a plan for success together that leverages individual talents is not "senior" except maybe in years.
- ironmagma 4y agoTrying to put a theoretical definition on senior is an interesting epistemological exercise but ultimately pointless. Real life does not care about definitions, especially single-bullet-points of those definitions. Everyone who works as a senior engineer has some strengths and weaknesses, so inevitably you will get some seniors with the weakness that they don’t get along well with other seniors.
- gregjor 4y ago