What prompted me to write on this topic? Two reasons:
1. It is a popular topic in the software industry forums where people rant about “project managers earning more than developers when developers do all the work”, etc.
2. To share my observations in the past 15 years from various organizations and to solicit your views & experiences.
1. Great Titles
“A title is something that is given by the superiors who think that you as a person would help them to advance their needs. ”
Development/technical leads with the titles of “VPs” or associate directors. Development/delivery managers with the titles of “executive director” even when managing less than 10 people. I guess this is very similar to the fact that every developer like to append “/Solution Architect” as in “Senior Developer/Solution Architect“. I have seen great architects writing horrible code and vice versa. It is hard to be good at both, but it is a human tendency to feel good about great titles. Companies want to attract or retain good staff with great titles. So, next time you lookup someone on LinkedIn, focus more on the quantified accomplishments like “managed 100+ employees” or “responsible for a budget of $250 Million” than on the great titles. Don’t buy into statements like “highly experienced leader”, etc.
2. Employee Engagement
Key responsibilities of a good manager are:
1. Stake holder/customer satisfaction.
2. Manage budget and cash flow.
3. Employee engagement.
Many managers fail to deliver on #3, which leads to staff retention and employee engagement issues. In my view managers/leaders who can get a good handle on #3, are worth every extra penny paid more and the developers/leads/architects should stop ranting about managers/leaders earning more than them :). It demands great leadership, people, & technical skills to build good teams. It is not a trivial task to build very collaborative and motivated team cultures. This is why good employers tend to focus more on the team/culture fit and your passion for your chosen profession with open ended questions, coding/collaboration sessions, HR interviews & psychometric tests to asses your attitude & characteristics. Just being a good coder will not cut it in large enterprises.
3. Not All Managers Are Good Leaders
Leaders are great Managers, but all Managers are not good Leaders. As was mentioned in “#1. Great Titles”, the titles are usually given by the superiors to those who can be used to benefit the management. A manager is a subject matter expert with semi technical, domain & soft skills to fill the gap between the senior management & the technical staff. Only a few managers are good leaders in terms of
1. Having a “clear vision“.
2. Strong conviction and strategy to engage his/her team & make difficult decisions to accomplish those goals.
3. Earning the respect of NOT only his/her superiors, but also the subordinates & the peers.
Most managers fail to deliver on “#1 & #2” by going with the flow and just executing their superiors vision or goals. They are more like administrators performing some monotonous tasks.
Many managers lack skills in “#3 to earn the respect of his/her subordinates”. At times, good leaders need to stand-up for their subordinates. Good leaders also shield their subordinates from all the politics and pressure.
4. Leadership is Not for Everyone
As discussed, leadership is not for everyone. It is not an easy job. Whilst leadership can be taught, not everyone is prepared to take the time or effort to observe good leaders with the view to learn & practice. Also, it takes a lot longer to learn than learning a new framework, tool or a programming paradigm. If you aspire to become a good leader, start observing your managers & leaders to study what not to do and what to do. Keep practicing what you learn as it takes time.