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

    • van2z@programming.devOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      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.

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

        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.

        • van2z@programming.devOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          The guy who commented titles are bullshit, had made a post earlier about him being a new manager. Out of everyone who commented so far, you sound like the most experienced.

          Indeed, I am officially not a manager. But I wish I was!