Career Nav #82: From Coder to Leader in the Tech World

Career Nav #82: From Coder to Leader in the Tech World

Written by Zamzam Farzamipooya

Career JourneyPodcast

This article has been adapted from the podcast recording of Career Nav #82.

Watch or Listen on YouTube

Zamzam Farzamipooya, tech lead at VO Technologies, shares her talk, “From Coder to Leader in the Tech World.” She discusses her path from hardware to software to tech lead. She explains how she organically worked into leadership and the ways that she supports her team.

I started doing hardware engineering for my bachelor’s degree but didn’t like hardware. It just never clicked, but I really enjoy software. I wanted to switch to software engineering, but it was hard at that point in my university. I graduated, but right after that, I started working as an iOS engineer as an intern. I really liked it. I did have some experience in web engineering, but I had never done mobile. I started artificial intelligence for my master’s while working full-time, which was not easy, but I managed to do it. I’m originally from Iran, but I wanted to work in a different country, so I was looking for positions in Europe, mostly Nordics and Germany. I eventually landed a position in Copenhagen, which is where I am currently. The team that I lead is a mix of different profiles. We have mobile engineers, iOS and Android engineers, backend engineers, full-stack engineers, frontend engineers, and DevOps engineers. We have a designer and a project manager. 

Leadership started early in my career. I know that many engineers care about the code, and the product side doesn’t matter to them. No one says it should matter, but it was always about the product. Why are we doing certain things, and who are we building this for? What is it that we’re trying to solve? When I first joined my current company, it was a new team and project. There was a position for a tech lead, but we couldn’t find the right candidate for the position. I did a lot of things because certain tasks needed to be taken care of. Someone needed to figure out the scope. Someone needed to talk to the other teams. I was the captain of directing where and what we should do. It was a lot of technical decisions on architecture and different decisions that we had to make. I started conversing with my manager and realized that many things I was doing were a tech lead position. I was at the point where I needed to have the position because I wanted to be able to do these things better and also have the time to do it because it was my job. 

Coming from a mobile background, it was hard for me to think I was good enough. I started talking to my manager and making a plan around what I needed to do to prove that I was actually able to do this.

When I ended up being in the leadership position, there were some things that I actually didn’t see coming. One of them was time management. Suddenly, I ended up being in a lot of meetings, talking to a lot of people. It resulted in me not having a lot of focus time. I had tasks. I still had to do coding. My time was very fragmented, and that was something I didn’t expect to happen. The other thing was hiring. When I got the position, there were three open positions. I ended up taking the hiring manager role for those positions. I was part of hiring before but never a hiring manager. It was a complete change because I ended up doing a lot of interviews. I had to figure out how we should do interviews, who should be involved, and what questions to ask.

Another thing was people management. I knew I was going to do that, but I didn’t have any hands-on experience. It was very challenging to figure out how to make a connection and build a relationship with my team. Also, how do I make sure that this is a safe space for them and build trust? I want a space for open conversation and feedback. This took a lot of effort. It was also not easy to realize how much I wouldn’t be coding. I really enjoy coding. I know sometimes I’m not the most effective when I’m coding in the sense that my team needs me to do other stuff, and my coding a certain thing doesn’t necessarily help them. I have to prioritize. 

I did have a lot of struggles, but also, I have grown. That is very exciting for me because I still feel like I’m at the beginning of this journey. It has been very insightful, and I have gained a lot of new knowledge. I did struggle with imposter syndrome. I came from a mobile background, and most of my colleagues were coming from a web background. It was difficult to feel like I belonged. I ended up spending a lot of my time looking into those topics, reading books, and talking to people everywhere I could get information. At first, I felt I had to know everything and be good at everything. That’s not the case because there is a limit on how many things a person can be really good at, and you have a team to support you. You have people who are specialists in certain topics, and you have to trust them. You are there to guide them, to help them solve their problems, but it’s not up to you to solve everything. You have to make a plan and help your team get to the right solution.

I started to do public speaking in the previous year. This had to do with me becoming a tech lead and wanting to share my knowledge. I did talks on multiple topics. I talked about SwiftUI, which is a topic in iOS. That helped me a lot in the sense that I got to spend some of my time off work learning technical stuff. I want to still be very good in technical, so I didn’t want to lose touch. Another way that it helped me was that I ended up building a lot of good connections and being more confident. I have had a mental shift from deep coding to broader vision, though there are days that I try to dedicate to coding.

I enjoy making connections by working with my team and other teams. I know people in other departments that I would not know if I didn’t take this position. I had to learn new skills and be able to communicate. It has been a challenging but rewarding experience. I also want to boost my team. I want to figure out what they want professionally and help facilitate that. I also want to know what they enjoy and do not. This helps when distributing tasks. I want my team to be able to talk to me personally as well. If someone is going through a rough patch, I want to know how they can be supported. If you are thinking about taking this path and having this position, think about it and really understand what you want to get out of it. Be ready to do less coding and more leading. I think that’s a very, very important thing. Also, you go from having very defined work expectations to defining the expectations.