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?

  • GrumpyOldMan@programming.dev
    link
    fedilink
    English
    arrow-up
    -1
    arrow-down
    1
    ·
    1 year ago

    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 :)