Long Answer: Would become a debate and I want to avoid that as this post is just about sharing my experience
Short Answer: It depends on the size of your team!
It is my opinion that an EM should code that results in the following benefits:
- Better understanding of the problem domain that you are in
- Set an example of good coding practices within the team
- Continue to learn and improve their craft and never lose touch
Why do EMs stop coding could have many reasons, but this is how I have approached to continue to code wherever I can:
1. Help your team
Before I begin to provide ideas on this, I wanted to state my general rule of thumb and that is to “never ever pick up projects/task at work that are on critical path”. As an EM, our primary role is to ensure the success and growth of our team and deliver business value through technology. That means investing a large portion of your time with your team and other stakeholders. My approach is to take up fixing bugs, fixing a few integration issues or providing tooling to help the team save time on operations. Sharing a real example: At one of my previous jobs a while ago, my team would get many incoming tickets to respond and resolve. I understood that most of these require to execute a playbook to provide answers. I went ahead and just automated the playbook and made it self serve thereby reducing the inflow of tickets to just under 2% of the original volume. The team used this spare time to improve the product, increase test coverage and learning. Another example was when the team was getting into longer discussions about an approach for a mobile app, since the discussion was not heading anywhere, I quickly paired with someone in the team to create a prototype and with that we validated a few more options.
2. Work on hobby projects
When you are in a situation and start to think with statements “I wish there was something…”, “Why cannot someone automate this…”, “What if I could just do….”, etc. All these are hints at problem statements that you have where you could code up a solution. It is easy to fall into the trap of just doing “programming” or “coding”; but I would strongly recommend that even for your hobby projects you do “software engineering” by writing a quick spec, writing tests (unit/integration), containerizing it and deploying it on the cloud. Setting up a small server does not cost much (mostly free) and you could shut it down anytime. I am guilty of doing this in private, but I have decided to build my hobby projects in public going ahead to get feedback on how to further improve my craft.
These are the two approaches that I am aware of and follow. There are plenty of opportunities to code and I would strongly urge EMs to code weekly and keep up at their craft. EMs, please comment on what you do as well so that we all could benefit from new ideas!
Sharing this as my opinion and not mandating this as an approach!
Photo by Max Duzij on Unsplash