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?
Titles are bullshit. It sounds like you are doing great! Don’t get caught up if you are doing what you are “supposed to” be doing. Just do what you know needs to be done.
Thanks for sharing!
I have started to question, 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.
The line between tech lead and engineering manager can be a bit blurry, depending on your organization. An EM could do a lot of the things you describe… but EMs should focus on people management primarily.
How does the org chart look? If the CEO asked HR, is your team directly reporting to you? Do you approve time-off requests? Do you know what your budget is for salary/bonuses/team lunch/etc?
You wrote about 1:1’s… What are you talking about? Are you trying to figure out that person’s career goals and helping them get where they want to go? Are you helping them figure out their next promotion?
Are you writing performance reviews for your team? Could you hire or fire someone if called for?
Those are a few EM behaviors I can think of off the top of my head. A lot will depend on the size of the company too. If you are at a 50-person startup then not much people-developmental activity is likely to be taking place. And if you are at a Fortune 500 then you would not be asking this question :)
Everyone, including me, report to the same boss. This boss is largely absent, and mostly focused on project level, never really thinking on a person level. That is why I have been trying to fill that role.
I do not approve budgets or time off requests. That falls on my boss. He has been messing up the time-off requests BTW, and I had to talk with him on behalf of one of my team members, to get it fixed.
Ah, it is not fully clear - Everyone including me in the team is a contractor. There are no performance reviews. Perhaps in the future we might all be converted into employees, but not now. The one-on-one discussions - is there anything bothering them? Do they like the tasks they are working on? Do they want to work on something else?
Example 1 on 1 result: I have a guy who is great from a technical perspective, but has significant anxiety about public speaking. Simply talking in scrum gave him anxiety. (He is 100% remote) After talking with him about this, I let him skip the scrum calls and just let him write me his updates.
This answers the question then. You are not a manager if nobody reports to you. Tech Lead it is.
It sounds like you are filling a void on your team and doing a good job at it. Keep at it!
I’m going to kindly disagree with other assertions on this thread that titles are bullshit. There are definitely bullshit titles (like practically everyone at a bank being an Associate VP).
A title that reflects your level of responsibility is important when you move to your NEXT position. That is how you mark progression in your career. It saves you a long conversation explaining how your title was (for example) “Senior Software Engineer” but you were acting as Tech Lead or Architect.