Wednesday, April 27, 2011

How NOT to get promoted to your level of incompetence

Many of the software companies in Egypt are following management ideas that are not only harming their business but also harming the career path of the "mind workers" AKA employees.

Whatever your role is in a software team or company, it is inevitable that you think the promotion usually means taking a managerial position. Sounds good, right? more money, a better office, a big fat title.

Think again, especially if you into software because this is what you love to do. Think again before you are promoted to a level of incompetence which happens when you are mechanically assigned to do something that you really don't enjoy; you are doing it, because you believe that "this is how it is done, junior, senior, lead, leader, project manager, department manager, director".

This is a cliché or pattern trap; we are trapped into the patterns and terminologies of traditional management:

  • hierarchy 
  • subordinates
  • management executives
  • project management 
  • subordinates
  • directly report to 
  • etc.

We are blindly following without even considering that there might be other ways; just like a fish that discovers the existence of water, when she is out of the sea.

Before getting excited about a promotion to be a project manager; think first:

  1. is this really what I want to do?
  2. what my real passion is about?
  3. is there other ways to get promoted into the path of my passion?
If you are a programmer with a passion to write code , solve problems and build great software; you don't necessarily have to become a PM (project manager) at a point in time if you don't want to. Here's one possible alternative path for you:
  1. programmer
  2. experienced agonistic programmer in several technologies
  3. experienced programmers in technical excellence programming and design techniques
  4. specialized senior programmer in a broad technology stack
  5. technical team mentor and a senior programmer
  6. technology architect
  7. senior architect
  8. R & D unit chief engineer OR programmers mentor and trainer
  9. technical director OR technology and technical excellence mentor and trainer (yet still a programmer)
  10. have your own technology start-up with partners where you complement one another.
Here's an iconic example for programmers: Robert C Martin aka "Uncle Bob":

"Robert C. Martin has been a software professional since 1970. In the last 35 years, he has worked in various capacities on literally hundreds of software projects. He has authored "landmark" books on Agile Programming, Extreme Programming, UML, Object-Oriented Programming, and C++ Programming. He has published dozens of articles in various trade journals. Today, He is one of the software industry's leading authorities on Agile software development and is a regular speaker at international conferences and trade shows. He is a former editor of the C++ Report and currently writes a monthly Craftsman column forSoftware Development magazine.

Mr. Martin is the founder, CEO, and president of Object Mentor Incorporated. Object Mentor is a sister company to Object Mentor International. Like OMI, Object Mentor is comprised of highly experienced software professionals who provide process improvement consulting, object-oriented software design consulting , training, and development services to major corporations around the world."

Start now to consider your options and be one of a kind in your area before blindly becoming yet-anther-PM!

I will keep adding more options for the various functions found in the software community. Please share your suggestions.

No comments: