13 ms·
I will disagree with one point. Neither eng managers nor tech leads should be doing project management. It is a unique skill and worth having someone explicitly
by iandanforth 6y ago
I will disagree with one point. Neither eng managers nor tech leads should be doing project management. It is a unique skill and worth having someone explicitly in charge. They should own the structure of requirements docs, story breaktown, ticketing, jira processes, etc. While they may be somewhat technical they are more ensuring consistency and quality of process without burdening devs.
The best team composition I have ever worked on looks like this:
Product manager: Has <=3 teams knows company product / strategic goals / customer needs. Sets high level goals, updates those in response to scope estimates, coordinates with product org.
Eng manager: Highly technical, has institutional knowledge of codebase + understands the politics of the org. Has <=3 teams. Sets tone, handles dev career growth, mediates/prevents conflicts, recruits, shields devs from institutional nonsense.
Senior Dev / Tech lead: Trusted by eng manager to independently make arch level decisions. Can mentor / peer with / support other devs.
Dev1: Specialist in one relevant aspect of stack, but with general knowledge (can pick up any ticket if needed)
Dev2: Same as above, different specialty
QA: Half-time dedicated QA resource
UI/UX Designer: 33-50% time for team.
Project Manager: Half-time dedicated resource. Owns Jira, scrum master etc as noted above.
This group is flexible, resilient, and plays to people's strengths. If you don't have a project manager then yes it can be left to the eng manager or tech lead, but it's not ideal.
- alistairSH 6y agoI just left a team that was structured similarly. It was a pleasure managing them. Team members were: - Manager (me), BA - managed backlog and some project management (actual title was principal dev, but she wanted a role change), 2x senior developers (both capable of architectural work), 2x developers, 2x test engineers, 0.5 Product manager (they report through their own branch of the org chart and cover several related products). Additionally, I had 2.5 developers working on a different project, run as a separate agile team. New team is 1 architect, 1 senior dev, 1 dev, 1 test engineer. BA and PM support comes from elsewhere, which is a big change fo me. Also in a new technical area (SRE vs 20 years of product/app dev). Fun, but stressful. I'll reserve judgement on the lack of BA/PM until I'm a few months into the role.
- iAmAPencilYo 6y agoWhat does BA stand for? Thanks.
- alistairSH 6y agoBusiness Analyst.
- halfmatthalfcat 6y agoCan I just throw in a wrinkle, I'm what could be described (from this list) as an Engineering Manager and Tech Lead. I architect and implement solutions while also doing all the traditional managerial duties. I feel like I've been eaten alive lately on HN that this arrangement isn't possible and you cannot do both well, but I beg to differ.
- sanderjd 6y agoWhat I would say is that it's possible but very rare to do this well, and furthermore that people often don't have an accurate sense of how well they're doing at it. The individuals on the team might know but might not want to say, but an even bigger problem is the individuals on the team not being aware there is a better way. I was about a decade into my career before I had an experienced dedicated engineering manager. I had already spent time as a tech lead / manager myself by then, and thought I had done ok, but experiencing a dedicated engineering manager made me see that I had actually done the job quite poorly. You may be doing it extremely well! It does happen. But I can understand why you're getting skepticism.
- camjohnson26 6y agoA lot of us have been an engineer on a team where the dev manager thought they were contributing but were actually taking all the interesting architectural problems for themselves and making all the decisions, which quickly becomes extremely demotivating since the opportunities to advance your own skills quickly dry up and you’re left just mindlessly cranking out code. The worst is when an abstraction is imposed on the team that doesn’t adequately cover the problem, so you have to spend twice as much time bending the code to make the dev manager happy instead of doing it the way you think is best. Granted this is just one way that situation can go, I’m sure there’s plenty of effective dev managers who still write code regularly, just hasn’t been my experience.
- bzzt 6y agoI don't doubt that it's possible. Except from having these creepy "one-on-ones" and review meetings, I have no idea what the engineering manager is even doing all day, never seen any transparency around this. "attending meetings" is what they say, but what meetings and why, I have no idea. Nothing is delivered and nothing comes out of it, I really think it's a bullshit job. "Sets tone, handles career growth, shielding the team" lol, do some coding instead.
- sanderjd 6y agoI think this is about right, but one sticking point I've found is: what kind of employee is the project manager? Who do you hire, what is the career trajectory? There is a temptation to have them be a manager, because hey, manager is in the name! But having gotten over that, there is a version of the job that is essentially entry level work; what you describe of managing the tickets and all the stuff is just not very high level work relative to what the rest of the team is doing. But then what is the progression? What are they trying to do after they've put in their years wrangling tickets? I think this can actually lead to a lot of unnecessary complexity. If you have a smart and ambitious person doing this job, they're going to naturally look for ways to make it more meaty. But it doesn't really need to be, so you're in a bit of a bind. I think this is where the impulse to let the managers handle this as a small part of their job comes from. It's already clear who the managers are and what their career progression is, and handling stuff the team needs to unblock, which doesn't fit well into any particular box is already part of their job.
- ghaff 6y agoProject/program management is probably one type of position that almost has to lead to people management at some point. Basically operational roles that have project/program management (folks) among others reporting to them. In other words, having overall responsibility for projects of smaller or larger size.
- sanderjd 6y agoYep, agreed, which is once again why you get managers doing the project management; a lot of them cut their teeth there.
- TheColorYellow 6y agoAgree with this point completely. Ideally it seems as if you'd want someone with administrative capabilities and focus but with enough understanding of the tech and business side that they're able to understand context and conversation. Problem is, although its easy to find administratively capable resources who you can pay a decent salary to retain, the minute you require them to understand broader context the incentive structure changes as this is inherently more work. To me that is why Product Managers who's focus is a single product should also take over administrative tasks on that project. It gives them an opportunity for "field time" as stated by another poster as well.
- lumost 6y agoThe challenge with this is that you have ~7 defined boxes that you are trying to put a team of 7 individuals into ( or 7 roles and 13 people ). At any given point in time there won't be work commiserate with all 7 job functions, people will grow to a different role, someone will be the bottleneck, and someone will be MIA or in a backfill. It's often best to keep the number of roles low on the team to increase flexibility/provide freedom for individuals to tailor the roles to their own strengths.
- PragmaticPulp 6y agoDo you really enjoy having 3 different managers to report to? All of whom have 3 different projects they’re dealing with? IMO, it’s better to have a 1:1 ratio of managers to teams. A 3:3 ratio is a recipe for endless meetings and communication overhead. 1:1 and 3:3 have the same number of employees, but 1:1 eliminates all of the communication overhead because there’s only 1 manager per team instead of 3. In my experience, splitting managers, designers, and QA people across 3 simultaneous projects results in 1 project dominating their time and the other 2 projects being starved for attention. Repeat this across the product manager, engineering manager, QA person, UI designer, and project manager and you virtually guarantee that every project is going to be starved of resources. Instead of having 3 separate product, project, and engineering managers split their time across 3 different projects and wasting time synchronizing with each other and the teams, it’s better to have 1 person handle the role of product, project, and engineering manager with 100% focus on the project and team. I’ve worked in teams like you’ve described. It quickly turns into a mess of meeting scheduling conflicts, repeating every discussion 3 times because you have to communicate it to 3 different managers, and constantly working around blockers because your UI or QA person has been pulled into a higher priority project. Put small teams together. Let them focus 100% on getting things done. Don’t cross everyone over to 3 teams. Don’t give everyone 3 different managers.
- poorman 6y agoI'm not sure where the 3 managers comes from. Product manager (Product Owner in scrum), Senior Dev / Tech Lead, Dev1, Dev2, QA, and UI/UX Designer all report to Engineering manager. Further, changing the mindset from "as a manager these reports work for me" to "as a manager I work for these reports" improves the feeling of ICs having "multiple managers". The managers job should largely be unblocking the ICs.
- poorman 6y agoI would further note, if you have a Project Manager that reports to leadership outside your direct team, you should have a Product Manager on the engineering team to counter-balance. Project Manager's goal is to drive leadership initiatives, where as the Product Manager's goal is to guard the members of the team so they are not stretched too thin and can build a quality product.
- bzzt 6y agoI've never seen any team where Senior Dev / Tech lead have had any power to make "arch level" decisions. And I have a very hard time imagining a team where the other junior/mid level engineers would accept to have such decisions made over their heads, by a member of the team.
- ochronus 6y agoWell, that’s how we do it. Senior devs make arch level decisions (how could you expect ownership otherwise?). It’s also not made over others’ heads but by involving them in the discussion, hearing their input.
- poorman 6y agoThe most successful teams I've ever worked on or led were structured like this. Both at the startup level (3-4 engineers) and big co level.
- binarytox1n 6y agoIt's impossible to overstate how much I agree with the need for a separate project management role. Project management is the biggest distraction I have from the "things only I can do" and the biggest morale and time suck. I don't have advice to give because I haven't solved my lack-of-project-management problem, but I sincerely believe I could be much more effective if this was off my plate.
- ghaff 6y agoAs things grow, you really have to move from ad hoc processes/tracking/etc. to something more systematic that someone needs to own.