Leadership Principles- Moving from a Developer to Manager
Moving the career path from a developer to a manager has its own learning, it is often said that developer and managerial are two separate career paths requiring different skill sets and competencies. which is true! However, there are similarities in the principles both operate upon in certain ways.
One might say that it is just the way we look at it and it certainly, makes the jump & learning smoother - if we see the common principles across these streams and how well someone who has worked as a developer can pick the best learning of been in developer shoes into the new role of been a manager.
Here are some of the common principles that I could see :), that are similar the way a developer operates and the way a manager manages,
- Operating System - from a techie perspective, we all have heard CPU\Operating system wherein there are different CPU architectures, OS, Platforms, Coding Languages. In the same way, we can say there is “Human Operating System” wherein every person\team member has their own goals and priorities, different aspirations, different strengths and areas of improvement
- For a techie - Operating System plays a major role in development whether it’s a Mac operating system or a Windows Operating System. In the same way, for a manager - people management is the crux of the work a manager is expected to do!
- If due to an Operating system’s known issue, the developer finds an Application bug - developers find a workaround and Fix it to make sure that customers experience is not hampered. so does People management, if there is an issue with a team member hampering productivity, motivation- Managers Fix it
- Not every product\application is 100% perfect for all the customers base - in the same way, as a manager, it cannot always expect to have a 100% perfect team. Like for a developer\Engineer -There would be “By Design”, “Won’t Fix”, “Postponed” scenarios and not everything can be always said as “Fixed”
2. Understanding Code and People:
- To understand the application code, the best way to learn, understand and get acquainted with the code is to go through the entire code, debug it - understand its known issues, failure points, expected output and it’s how the functions\methods interact with other
- People management pretty much involves - interacting with people, understanding them, get acquainted and understand the strengths of the team. Where each of the team member stands, what makes them happy, what their expectations are and how the team interacts & works together. It’s a kind of (debugging!) skill for a manager to make sure his\her team speaks up their opinion without fear & hesitancy.
3. Fixing and Resolving Issues:
- To Fix a bug - the developer first debugs the code, understands the failure reasons, try the ways to fix the issue and then resolve it
- So does Managers\Leaders do - talk to the person, understand the issue and look for ways to resolve it and Fix it
4. Demos & Presentations
- As a developer - we give the demo of the application\Product we have developed :) highlighting all the accomplishments & benefits the application has to offer
- As a manager - project the best foot forward of how good the product has been developed, tested and how hard the team has been working on in shipping the best application\product.
Though, the intended audience & presentation content might differ in the presentations made as a developer and a manager- that been said, with managers\leaders being technical sound, this gap is reduced and in certain teams having a techie manager does help a lot :)