Written by Emmanueil Masih, Senior Manager, CG Infinity Inc.
I have been working as an IT manager for the last 5 years, and throughout my career, I have worked in most of the typical IT team roles. I started as a Software Engineer Intern in 2008. I worked my way up through my career path from intern to Consultant to Associate and to where I am now operating as a Manager for a team of about 15 associates.
As I continue to grow into a leadership role, I have been taking some time to reflect on my journey. Though I could blog on some technical concept, what comes to mind the most is that my journey has been one of building bridges and minding the gaps. My role has become focused on creating connections between the technical team and helping my team navigate the chasm between what the business wants and what is technically feasible, given a time constraint or legacy application limitation.
Each aspect of a business environment plays a role in the successful delivery of new functionality. Here are a few of my thoughts from living and working in the trenches these last five years:
Leading Development Teams
Each team I have led has brought its own unique mix of resources, personalities, and experience. What has certainly helped me as I have grown into a leadership role is having worked almost every role my team members play – from Junior/Fresher experience levels to Sr. Software Engineers and Architects.
I realize now that my maturity has come from evolving from not understanding the full context of a business problem to practically owning the entire system architecture from end to end. As a junior-level member of the team, I required a lot of support. There were things I didn’t know, so I depended more on our leadership to help me understand what was expected of me and how I could contribute. My senior engineers, however, require a different level of support.
Senior Engineers have a high degree of competency in their field but may lack an understanding of the business context. Thus, my role with them shifts from mentoring at a technical level to guiding my teammates through understanding the business problem.
In true agile fashion, my other role has evolved from identifying blockers preventing me from completing my task to being responsible for removing blockers from my team’s path. Sometimes, this involves helping the business understand why something is blocking the team. Perhaps they need to revisit their own business process before we engineer a new technical solution. This brings me to the final observation: my highest function as a leader is in bridging this gap and providing business to technology translation. This helps set expectations with my business partners and reduces quality issues because it clarifies my team’s requirements.
The Business Team
My current client has a tremendously complex technical topology of 30+ applications, 70% of which are tightly coupled with each other. This topology did not happen overnight. It has evolved over the life of the firm and carries two primary challenges:
- Change Management. Changes in one application usually have downstream and upstream effects on the entire architecture and must be carefully curated.
- Knowledge Management. Although the systems I support are over 12 years old, I have been supporting them for more than 7 years and, at this point, I am one of the few people remaining on the client site who understand the full end-to-end architecture. So, managing institutional knowledge has grown challenging. Most of the time, the BA’s and even the business groups they support do not have a complete understanding of their business process, much less the subset of those 30+ systems that enable their business objectives. With inadequate system knowledge, the business struggles to provide proper requirements for any change in existing features or any new feature.Hence, the IT Executive’s function is often to be that “glitter and glue” that helps ensure that knowledge gaps are managed effectively.
- Simultaneous Translator. Although my first language was Hindi…the key language I continuously have to provide translation services for is the language of IT. It is often challenging for my business partners to understand the technical language provided by my IT team. Vice versa, my key role is often in determining what my business partners meant to say when they fill out a feature request. The nuance is in acknowledging that at the end of the day, the business does not care about what technical code is written in the application. They care about business logic in simple language. Most of the time, IT teams struggle to provide information in simple language.
IT executives play a very important role in navigating these businesses and working as a bridge between these teams. The accomplished IT manager understands his team, application logic and is good at picking up on what the business really wants. Moreover, the best IT executives are also very much familiar with the developer and Business mindset, and most of the time play the role of translator between these teams.
As an emerging IT Executive at CG Infinity , I have realized that the following are the things that have helped me in my journey so far:
- Establishing complete end-to-end knowledge of the systems I am supporting
- Becoming intimately familiar with the underlying business process that my systems are supporting
- Navigating the chasm between what the business request and what they really want or will accept, given budgetary and schedule constraints
- Training, mentoring, and coaching my team
This is what has worked for me. Let me know what strategies and skills development have benefited you!