Developers Make the Best IT Managers

I believe that the vast majority of the best IT Managers out there were former developers.  In my 41 years in IT, I have worked for a variety of managers and without question the ones who had a technical background were the best. If you think about it, it makes sense. Here are some reasons why:
  • IT Managers are often called upon to troubleshoot failing IT Projects. Projects can fail for different reasons but the root cause is always founded in one of the following.  How can someone with no developer experience know how to figure out where a project is failing?
    • Poor project planning (task estimation, sprint planning)
    • Incomplete requirements
    • Flawed architecture or design
    • Poor quality code
    • Poor testing
    • Poor or no deployment process
  • Non technical managers often focus on metrics to measure project progress and quality (like lines of code, use cases done, bug counts). Unfortunately developers know how to rig metrics 99 times out of 100 in their favor to hide the reality of what's really going on. Only a former developer can spot rigged metrics.
  • Non technical managers don't know how to hire good developers because they have no idea how to identify a good developer.
  • Non technical managers can be easily fooled by developers into accepting unreasonably high estimates on project tasks making projects last forever. This actually happens very often because some developers estimate on the VERY HIGH side to avoid any risk of missing deadlines.
  • Non technical managers cane easily be fooled by IT consultants into hiring them to do a job by providing ridiculous low estimates and project cost.
  • Non technical managers often believe that developers are commodities that can be easily swapped in and out of projects. Or that you can shorten a project's timeline by throwing more developers at it. The truth is that it takes developers a long time to ramp up and become productive when added to a project because they have to learn the application business domain and the application architecture and coding standards. If anything, adding developers to a project will slow it down because they will need to be trained by the developers on the project thus taking them away for their tasks.
  • Non technical IT Managers often concentrate on things that developers view as silly such as team building exercises or team outings. Those things are OK but they are of secondary value and will bring morale down if used as a solution to troubleshoot a failing project.
  • Non technical managers often don't really know who the good developers really are and this causes low morale among the good developers and often they will leave the team and go work somewhere else where they are appreciated.
  • Non technical managers don't know how to deal with new technology so often times they will bring in highly paid consultants from major IT consulting firms who over promise, do very poor quality work and often fail miserable after getting paid hundreds of thousands if not millions of dollars.
The list goes on and on but those are the ones I can think of.  When I was asked to become an IT manager I never forgot about the developers in the trenches who are the ones who write the code that make the computer do what the end users want. They are the ones who ultimately determine the success of a project and good IT managers need to hold their feet to the fire and demand developers to deliver on the five pillars that guarantee project success; requirements, design, code, test, and deployment.

Comments