All this sounds familiar. Part of the problem in my case was that I was a tech lead, in title, but I was also a manager and a scrum master at times. This is awkward for the team because when I joined we had diff ppl in these roles and the three of them were peers shared the same goal but through very diff paths. When an engineer had issues with the tech lead, there was always the scrum master to talk about or the manager. Also the tech lead vs manager kept a balance between what team considers important tech debt and company deadlines.
Being all in one is not good for the team and is extremely hard for the person bearing the responsibility. The tech lead IMO should have time to write code and be in the critical path. The manager should not touch code and if the manager does then the manager should not be in the critical path.
Anyway, all things considered I enjoyed being a team lead but I would go back to that role only under specific circumstances.
This article seems to assume there is a “thing” called Tech Lead and that people know what that thing is. The biggest lesson I learned when my title was “tech lead” is no one (especially me) knows what that is…
Every single thing about this rings true and it took a few tries for me to learn all of this. My first time as a tech lead was disastrous because I kept trying to do my day job (and didn’t ask for backup in terms of authority or getting my calendar straight).