A Journey That Changed a Life of a Mobile Apps Software Engineer to an Engineering Manager (Part 1)

Muhammad Rizqi
6 min readMay 16, 2021
Photo Credit: Snow vector created by upklyak — www.freepik.com

I started my career journey as a mobile apps software engineer, specifically for iOS, at an e-commerce company. At the beginning of my career journey, I never thought and planned to be an engineering manager in the first five years. But, after three years, for some reason, I eventually became an engineering manager, leading and managing the whole software engineering role in a team. That’s not just software engineers with my previous role expertise, which is mobile apps software engineering, but also for every software engineering role in my team that also consists of back-end and web frontend.

The engineering manager role at my company is expected to have these three leadership skills: 1) Technical, 2) People, and 3) Product Delivery. Those desired leadership skills become our role responsibility at the company. So, it’s not enough for me to just become a people manager or feature delivery manager to be an engineering manager for my team. Still, I also expected to have skills that can lead the team from a technical standpoint. From my viewpoint, that’s also what an ideal engineering manager role should be because we also need to give technical direction, initiative, and leadership to our team. Because in my opinion, I am here as an engineering manager, not just an engineers’ manager!

When the offer to become an engineering manager came to me, a gigantic question also came to my head: “How can I prepare myself to become a proper and effective engineering manager for my team shortly?”. The question was constantly whirring inside my head. I didn’t want (and never want) to be a lousy engineering manager for my team, nor to be similar to some of the bad engineering managers that I ever observed. I wanted (and still want) to be a good and proper engineering manager for my team or to be better than some of the excellent engineering managers based on my observations.

So, what was my effort to answer my question and prepare myself to become the engineering manager I wanted? What were the things that very beneficial for me even before I got the offer and prepared myself to become an engineering manager? I’ll try to share my experience with you, with some tips that I hope could inspire people out there who want to be engineering managers. I classified the journey into three phases: 1) Pre-preparation phase, 2) Preparation phase, and 3) On-action phase.

Disclaimer: The article that I wrote on this page is based on my experience and my opinion with my limited knowledge. So, it might be correct, or it might be wrong. It might be suitable for your case, or it might be not. Feel free to put a comment on your feedback, disagreement, etc. Besides hoping this article could inspire people who read and need this, I hope to improve my knowledge from your feedback too. As I mentioned, my understanding is very limited and will always be limited. Hence, I need to learn from you guys as well. So, feel free to discuss yaa, cheers! ;)

Pre-preparation Phase

As I mentioned at the beginning of this article, I never planned to be an engineering manager for my first five years. Therefore, I didn’t prepare myself to sharpen my skill specifically for the engineering manager role until the offer came to me. Even though I didn’t have any preparation for that before the offer, there were several things of unconscious experience that I had that were beneficial for me to become an engineering manager, which I’ll tell you in this section.

Tip number 1: Be curious! Don’t hesitate to ask. Build a good relationship!

For me, being curious is a fundamental behavior for an engineering manager to do on my daily basis constantly. When becoming an engineering manager, I need to gather information from all related sources of information. It can be from books, articles, videos, and other things that can improve my knowledge. But that’s not enough if I just take from those “written” forms. I need to gather from all the people around me as well. As an engineering manager, I usually take information from my subordinates, superiors, peers, colleagues, or even stakeholders.

Why do I think that much curiosity is essential? First, of course, for your knowledge. The better understanding you have, especially all of the related things with your team, the better decision you can make for the team. Second, to build relationships with other people around you. It would also encourage you to talk to others, connecting with other people around you by asking other people.

So, what was my case even before my preparation phase? Luckily for me, I am the type of curious person. So, I’ve been doing this since I started my career. But, at the beginning of my career, I aimed just for knowledge, not for building relationships with others. So, there were some situations of me being that curious jerk without caring about the feelings of people that I asked. Until at some point, I learned to build relationships with others is crucial, especially for engineering managers, but no less essential for software engineers.

Connection with others is meaningful because we’ll need to collaborate with people around us repeatedly in the future. A bad relationship with others can hamper our collaboration moving forward. This is really mandatory for an engineering manager because we are responsible and accountable for the collaboration effectiveness within our team or even in a more extensive scope in the company. But even if you are a software engineer that doesn’t have any plan to become an engineering manager, this is also important! You guys also need to collaborate with other people. Based on my observations, this kind of issue often happens in software engineers or individual contributors. So be careful of this!

To avoid this, I’ll always try to put myself into other people’s shoes. Try to feel what other people will feel when I talk to someone and care about other people I spoke to. I know that every person is different. But at least, I tried to understand and to care for others. One quote regarding this that I always keep in mind: “People don’t care how much you know until they know how much you care” — Theodore Roosevelt

Tip number 2: Don’t miss out on opportunities to lead the team!

I’m really grateful that I had given a chance to become an engineering squad leader when I was a software engineer. That, indeed, added some workload for me besides just a software engineer. I also expected to lead the team, helping my manager, and so on. Even there’s no such additional “money” benefit at the company of being an engineering squad leader, but there are other benefits that I can take outside money, which is skills.

By taking that responsibility, indeed, I learned so much about leadership, and those lessons learned are beneficial for me when I become an engineering manager. For non-technical skills, I learned how to manage people, communicate and build relationships with others, and of course, leadership. But surprisingly, this responsibility also gave me chances to improve my technical skills. Leading the team to bring some technical improvements or designing architecture and code structure gave me many new insights and knowledge by discussing with the others.

As you can see here, there’s something else that can become additional benefits outside “money” from your company. It can be culture, self-improvement opportunities, and so on that might not be obviously visible. Pay attention to that. If you’ve found the chance, my suggestion is not to miss one of those things!

Continue to read part 2 (coming soon)! 👉

--

--