Over the last year, I have taken on new responsibilities leading the charge of the Engineering department at Andela. My career up until then has been that of a Software Engineer and Team Lead so it was quite a big leap. In this post, I will share some of my struggles as I dealt with transitioning from hands-on software development to management.
As a Manager, I have to stop coding
I have always believed that becoming a manager means the end of one’s coding career, and I struggled with this for quite some time. Coding has always been one of my passions and I refuse to give up. Ultimately, I changed my belief and stopped looking at it as an either/or situation, but continue to devote time both professionally and personally to write code. At work, I devote at least 20% of my time to contribute to the codebase fixing bugs or implementing small features. This not only provides some extra hands to the development team, helps me keep my coding skills abreast, but makes it easier to empathize with my engineers allowing me to better defend their needs upwards to senior management. Personally, I continue to dig deeper to further my understanding of software engineering domains of interest (e.g. machine learning).
Tying my self-worth to lines of code and git commits
As a software engineer, I associated my value directly to lines of code and number of git commits I could churn out in a day. I struggled with a feeling of not accomplishing anything real because I was no longer delivering features on a regular basis. The coaching and mentoring from peers and supervisors helped me recognize that there are other means of contributing value. Specifically, helping my teams remain focused on their goals, removing friction, clearing out roadblocks, and mentoring engineers to level-up, all add tremendous value. These days, I primarily tie my success to the success of the teams I oversee.
The lacking sense of craftsmanship
It is pretty straightforward to measure and feel self-improvement when it comes to coding. You start to write better & modular code, debug issues more methodically, become an expert at digging through stackoverflow, etc. Overall, there is a sense of mastering your craft. This is not the case with management where there isn’t a stackoverflow to find out if you are doing something right. Mentoring, reading management books and blog posts helped me a lot dealing with this. I also try to emulate the same behaviors and beliefs from who I consider the best managers I have had the pleasure to report to over the course of my career.
The road to management has not been easy. In fact, it has been filled with instances of impostor syndrome. However, throughout this journey I have been able to embrace the role and what it entails. My new found belief is situations that expose feelings of inadequacy tend to be the biggest opportunities for learning and growth.
If you have experienced similar or different feelings while transitioning from a developer role to a management role, please share in the comment section below.