I’ve been put as a tech lead for a project in a team with 6 others, but I absolutely hate being responsible for a group of engineers, especially the juniors who I effectively see wasting their time on stuff that is not relevant at all. It is very difficult to steer the ship in the right direction as each person has their own quirks and opinions that are broken in my view, and I don’t like it at all. I try to explain and build context with many whiteboard discussions and Q&A, but many times people just don’t execute the proper way, and that is causing massive waste of energy. I also tried doing less talk and just producing proof of concepts that show the idea that needs to be executed, so other engineers can take inspiration and start building along that line of thought, but it doesn’t work either, they just discard the poc and go back to a horribly over engineered approach that can inevitably not fit the deadlines. It is probably my fault, but honestly I don’t know what else to do. I have no problem being judged on my own technical output: I am fairly senior and I am able to produce software that works more or less well, is scalable, is well documented, and I am able to usually get it done in a reasonable time, because I don’t have to spend time “lobbying” myself towards the right solution. I ask the right questions to clarify uncertainty around specs and problem, and then I’m off executing. What do I do? Should I just go to the manager and quite frankly tell them I’m not cut for this? I’m afraid they’ll see me as a failure and perhaps manage me out? Thanks
Yes you are definitely not ready to be a lead if you cannot handle this kind of responsibility.
Plan, delegate, deliver. All 3 are a broad spectrum. If you cant execute any of these, just go back to what you do best.
You can't tell people how to do things. As a manager, your job is to set up incentives and remove roadblocks.
As I said in the post, I am 100% a SWE and I’m writing a lot of code for this project that I completely maintain. The very core of the critical path (what needs to be the most scalable) has been designed and is being implemented by me. The meetings and proof of concept for the other features are on top of this, to help the team build context around what needs to be developed so they can figure out the specific hows. Trust me, there’s no one else with hands dirtier than mine on this project, I’m taking care of everything from build system scripts to core system parts and desperately trying to delegate to people to take ownership in these areas, but they just fuck up, and it’s obviously my fault since I’m the lead. If I were doing what I’m doing now without being a lead, I would be instead massively praised for my hands-on involvement in the project and ownership in the different areas.
If you are considered a failure for one project, your not being supported well by your managers. They should be helping you learn to lead.
As a lead, you have to acknowledge that the things that your team produces may not be as perfect as if you had a team full of your clones. It’s about guidance and acceptance of imperfection while creating good feedback loops so that they can do the best they can
You are going to have to relax and accept the quality that they produce or the way the produce it may not meet your expectations. You will constantly be frustrated and stressed and it won’t be good for you health. Just be patient and continue to guide and educate them the best to your ability.
Another question for you what is your hiring process like? Why were more senior engineers not hired? Why were the juniors not filtered more? Did you have any say in this? Also why don’t you delegate some mentoring to some more senior engineers of the team? It seems there are either delegation problems or your team is just very junior and more seniors are needed.
Sounds like you have some incompetent or inexperienced people on your team and they’re too busy questioning how to do the work instead of just following the path you’ve given them. Why don’t you just set up daily goals and weekly goals for them to meet. Then they know what should be done day by day or by the end of the week. If they don’t meet those goals or are struggling, ask them what’s blocking them or confusing. Give them the solution. If they still cannot deliver then I don’t know what to say. If they don’t follow your solution and do their own thing, then you can always document what you’re doing to help so when upper management questions the incomplete work, you have proof that you helped them.
Wow great topic. I feel ya 100%. I have been a lead at several companies and am beginning to think I’m not cut out for it. I especially get frustrated when the person doesn’t seem to put in the work to solve their own problem or at least TRY to
Yes, it will do a favor to the people you are refusing to lead
In what ways I am refusing to lead? It’s more like I am not capable of leading. I surely am trying.
Your response to failure has been to remove the most rewarding parts of the work and leave them with mindless coding. This is a fundamental leadership failure and any remotely talented junior engineer is already planning their escape.