This is kind of an off-topic post but something I felt worth sharing. I get asked two questions quite often, so thought to answer them in a broader forum.
Before I discuss these questions, it might be useful to provide context behind these two questions. My job as the engineering leader of Hybrid connectivity for Azure focuses on setting direction for overall Hybrid connectivity business, building a strong, diverse & inclusive team, motivating people to take on bigger challenges, cultivating grassroot innovation, talking to customers, talking to partners, handling escalations, tracking KPIs for our services and all the associated things that most leaders in similar roles do. We build & operate some of the most critical connectivity services for Azure such as ExpressRoute, Azure S2S and Client VPN, Virtual WAN, Bastion etc. I truly enjoy this role and together with my team members and colleagues, in last 5 years, we have grown the business to more than 10x and team from 8 engineers to 80+ engineers.
With this role and a relatively hectic life, people wonder why I do coding or how do I find time for it, and this is what I am going to talk about in this post.
Why do I still do programming?
This is a very relevant question, since it is not very common for people in management roles to do coding. So why do I do it?
The foremost reason is, I love it. I studied civil engineering but moved to software because I loved programming and that love is still fresh in my heart. It gives me a sense of creating something with my own hands. It is like being a coach but also enjoying playing the game. It is like being the “exec” chef but cooking something by our own hand.
The other reason is, keeping up with technology. Technology evolves at a very rapid pace and I love to keep up with it (as much as possible, in the areas that are interesting to me). I have found the approach that works for me is “Learning by Doing“. So I take some small side projects, build them by hand and in the process, gain understanding that enables me to apply it in the broader context to solve problems for our customers.
How do I do it?
This question comes mostly from time management perspective.
This is a tough one, since finding time with a busy lifestyle is difficult, extremely difficult. With constraints from work & home, time is precious. Three things have helped me in this:
I love the premise of mini habits as described in the Mini Habits book. This book provides a framework for developing habits by doing something consistently even if in short amount. I feel this helped me a lot to get over the inertia that was taking place in me, and enabled me to do things that I wanted to do but was just not motivated enough.
I realized that if I make the right routine and identify a time that works for me, I had less distractions and inertia to do some of these things. This is applicable to many other areas from doing yoga, to cleaning up the house to last but not the least, programming.
A couple of years back, I started going early to work and reached office by 7am. I made a rule that I would not check my outlook or teams until I spend two hours on doing certain things such as coding, writing technical document, reading from my reading list etc. These two hours worked well, as in most cases, I used to be the only one in office at this time so got an uninterrupted focus time.
I also realized that days when I did not follow this routine, I was not able to do these activities, because once meetings start, email flow, chat pings rise, it was impossible to have focus time.
Working from home
Due to ongoing pandemic and work from home, I found myself having extra time (1.5-2 hours) as I didn’t need to drive to work everyday. Further, with current situation, working from home became a norm (good & bad). One decision I took early on was, even if I work from home, each day I would get ready by 8am. This included getting up on time, taking shower, getting well dressed (almost always). I wanted to do this, so that at least I get a sense of normalcy in life and it doesn’t become a routine of sitting all day in front of computer in my sleepwear.
One other difference in the past was, when I was at home, I would not use computer for any productive work. However, now work & home life has blurred (again good & bad), the lifestyle has changed and working from home has became part of life.
I now take some time during early morning and/or in the night, that is focus time, where I pick a set of things on my wishlist. This time is when there are no meetings, no calls, no escalations (generally), and I get to focus on things from reading to coding. This new lifestyle has made me more productive, and while I miss meeting my team and colleagues a lot, even when things open up, I feel partial work from home would continue.
I enjoy this balance where not only I am able to leverage my skills and knowledge to contribute towards success of Azure, I also get to build things by hand. It is the harmonious balance of being a coach and a player.
What could be better than that!