What is management, really?
Many people confuse leadership with management. To summarize my first post in this series, leadership is about setting a vision for your company and/or employees that will help the company achieve its goals. Management, on the other hand, is about ensuring that employees are doing their jobs in order to achieve the vision. To further clarify, it is a manager's job to look for opportunities to improve, and it is a leader's job to determine the path to make that improvement. If you have perfect employees and trust them completely, you have no real need for managers. That is a big reason why it seems like more and more small technology consulting companies are advertising their manager-free organizational structure.
Okay, what do programmers do?
To non-technical people, a programmer's job seems simple: programmers write code. In large companies or on large projects this might be the case. In these environments, a programmer's job is to make code that implements a software architect's vision. But on smaller projects and in smaller companies, programmers must be flexible problem solvers as well. Many of these problems are related to maximizing efficiency - inefficient code is hard to debug, hard to maintain, and is slow to execute. Programmers may spend days at a time looking to maximize the efficiency of their software in some way, shape, or form.
Putting it together
If you have a group of people who have become extremely good at maximizing efficiency looking at a role (i.e. a manager) that doesn't directly add value to a company, you're going to get some friction. But most programmers understand the value of managing code. Having bad code introduced to a system can cause all sorts of problems, so most programmers have no issue spending resources managing how and where code is written. It's clear to me that programmers (good ones, anyway) dislike inefficiency, not management. Assuming that you have a qualified manager, often the best thing you can do is show programmers who are disdainful of managers exactly what that manager is accomplishing and why. Be logical and thorough. Expect tough questions, but with understanding comes the respect you're looking for.
Other posts in this series
October: Getting programmers to see the value in management
November: The Peter Principle and software architects
December: Creating a leadership team to make your software project a success
No comments:
Post a Comment