worldsbestseb in  
Software Engineer  

Stuck in a dysfunctional setup

I am a software engineer working in big tech for the last 15 years. On multiple occasions, I have felt sandwiched between what my manager wants (extremely tight deadlines) and what my tech lead wants (tech lead has a perfectionist streak). I find it extremely hard to manage my timelines to make them both happy.

The tech lead reviews all my code and there have been some instances where he wasn't happy with my code and re-wrote a lot of my code only to realize why I made the design choices I did. He is also very pedantic about a lot of things and yet coding guidelines are never documented. Code reviews take forever with him and meeting aggressive deadlines has been very painful. I have spent more than a year at the team now. 

 Any advice on how to navigate these waters? 
2
1161
Sort by:
MLE3760ML / AI  
It's a tough position to be in, speaking from experience. A few pointers:

- It really depends if the company is an early-stage startup or a big established company.

- For a startup, the focus should be on delivering fast, and while the code should be held to SOME standard, there's no room for perfectionism. It should be made clear to the tech lead that company priorities lie elsewhere.

- For a big company, you should push back on your manager about the tight deadlines, ideally including your tech lead that can back you up on it. Have the tech lead explain that in order to achieve the appropriate technical standard, the team needs more time.

- In any case, you should push HARD on the tech lead to write down at least some coding guidelines. In a starup, this might be just a short, vague idea list, but the bigger the company, the more in-depth the guidelines should be. Make it crystal clear to the tech lead that it is HIS responsibility to write down the proper guidelines if he intends to enforce them, and that being pedantic about something that was NOT written down is entirely his fault. If he refuses or is reluctant about it, explain to management how the lack of proper guidelines is unnecessarily increasing development time.

- Navigating this can be very tricky and hard. Depending on how it goes, you might have to involve some more senior figures, but then it depends a lot on them personally. Try to explain how there's always a tradeoff between development speed and technical quality, and the company should decide where exactly their priorities lie. In any case, the appropriated level of quality should be clearly documented, so you don't needlessly waste time. If they disagree about any if this, I strongly recommend looking for a new job. Sometimes leadership is just incompetent, and you shouldn't try to fix it yourself, it's much better for you to just leave.
1
worldsbestsebSoftware Engineer  
Thanks so much!

About

Public

Tech

Members

736,361