I have about 13 years of tech experience. Some as a software dev with open source languages, some as an on-site consultant with proprietary languages.
My first experience as a lead came involuntarily. I was the most senior dev, and a lead left the company. I was kind of forced into filling his role. I am in the US, and the 3 or so people under me were all from India. The time zone difference made communication with them very hard. I didn't enjoy the position. I felt as if I had more responsibilities without more authority. I left shortly afterwards.
At my next few jobs, being a dev felt like I was on "easy mode". Almost too easy. I started to feel that I have nothing new to learn as a dev... All of the frameworks seemed the same to me, just regurgitating the same functionality in a different format.
Onto the company where I am now: I started as a dev. Although I was getting lots of work done, there was a clear vacuum of leadership. Poor communication, lots of technical debt, new people had no guidance and had to learn everything on their own.
I told management multiple times that we lack a lead, and asked if we would be getting one. After several months, management asked if I would be interested in being the lead. Especially with regards to dealing with the technical debt. I said yes, because I felt I was filling a very important yet lacking void.
That was 6 months ago. Things have been quite exciting since then. For the first time in forever, I actually felt challenged, doing new things. I have been on my toes, switching from one issue to another. It started with handling the technical debt, then training the new people, then trying to use the team resources most effectively. Along the way, I have been gaining the trust of the people I lead, acting as the communication glue of the team, and being transparent with everyone.
I end up having to handle everything that is not a coding task. This included creating new access roles, assigning them to people and to service accounts, configuring message queues, releasing code, etc.
I would love to delegate some of this stuff. The problem is my boss took on too many projects and was forced to take a bunch of people from my team to cover those other projects. I am left with few people, running quite lean.
Much of the people working in the team are quite shy, or not very good at communicating. I end up being the speaker for much of the team, especially when talking up with management.
Last month, a person on my team asked to talk with me privately... She then told me, her contract is being cut short, ending work that week. The sad part is, she found this out from her contracting agency. No one told her about it up till then.. And then she basically started pleading with me if there was any way she could keep her job. This made me quite sad and angry. I called up several managers involved, and had a long discussion with them about us losing a great resource, lack of communication, etc.... And incredibly, they listened to me. Sparing the details, l was able to keep her contract from ending.
Since then, I have felt quite confident in my position, being respected by both my team members and also my bosses. I started having one-on-ones with everyone making sure they are happy with what they are doing..
I have started to question, am I a lead or a manager? Although I do look at code when it needs to be done ASAP, for the most part I prefer to have someone else work on it. I don't really want to be the architect / designer of new code. I hope my team grows strong enough to make these decisions themselves.
Recently I told the team, we need to speed up our GUI and asked if anyone has any suggestions how to do this. My main GUI guy provided an idea which will require a lot of time and effort. But I can see it has potential. I told him to to for it, build a POC. I would like to encourage this kind of attitude more, for people to come up with their own solutions instead of just waiting for me to give them work..
In any case, this has been an exciting journey. It has really worked out well. I am lucky people listen to me. At least for now. I do continue to wonder, am I a lead or a manager?
I also have about 13 going on 14 years in the industry. I've been at my current company for a little over 2 years and have been the team lead on my team for almost as long. At our company, there are two ladders, one for management and one for ICs. The IC level I'm at is equivalent to a Manager on the ladder, so my manager and I are technically peers.
In practice that means our roles are somewhat similar actually. The main difference is I get to focus more on technical leadership and technical architecture planning, while my manager focuses more on people leadership (1 on 1s, interpersonal disputes, communication with upper management--though I do some of that as well, helping with career advancement and advocating to upper managements for promotions for us, etc). We collaborate a lot, I'm in a lot of the planning related meetings with him, while he shields me from a bunch of other meetings I'd rather not be in so I can get more technical work done. Honestly I'm quite happy with the arrangement as I get to lead, while not sitting in meetings literally all day like he does.
I also advocate for my team like you do, but I also lean on my manager for that or to bring things up the ladder when needed. As others have said, the line is very blurry.
The funny thing is I'm currently working on a promotion to the next IC level, which in our ladder is equivalent to a Director. So once I get it, technically I'll be my manager's superior (based on ladder) but he'll still be managing me like he does the other team members. But honestly exact IC levels and who is "above" who doesn't really matter in practice, and nothing will change with our working relationship after I get the promotion, it's just kind of funny to think about.
Anyway, glad you found a role you enjoy! I've found myself bouncing between wanting to me more of an IC and more of a manager, and find that my current position as team lead has been a good balance of those roles while affording me the opportunity for technical challenges and room to grow as an engineer. If I was stuck as a pure IC, I think I'd feel the same as you did regarding my growth stalling.