Do you enjoy coding? Would you want to do it until you retire?
Most of the people I met do not subscribe to the idea of Developer-for-life. They aspire to be 'managers' and it doesn't matter what type of manager as long as the title carrries the word 'manager'. Given the ratio of managers to workers in an organization, how many developers actually made it to be a manager?
Hence, for those who could not make it in the industry, they end up as Unit Managers for some MLM company *Hehe*.
I think it is our culture's perception that manager is where the money, power and respect is. Manager is usually associated with big house and big car, the authority to hire-and-fire and the ego-secured feeling of having mah-chais (subordinates).
In reality, it takes more than just old-age, big-salary and experience to be a manager. You need character, leadership and the charm in dealing with people which not many could master. Some managers become just managers for decades - with people under them to command and people above them to please.
Some managers build empires over the years with employees who trust them and would go the extra mile for them. So do you have what it takes to be a manager?
Honestly speaking, I share the idea with a small group of people who believe that developers who are good at what they are doing and would like to stay in their field, should be given the opportunity to grow in their respective field without being penalized with low respect and low salary.
It is an ego issue if a developer earns more than a manager but often people forgets that Directors direct, Managers manage and Developers are the ones doing the work. If a developer screws up, it affects the entire 'food-chain'.
Like all dicipline, a developer's skills gets better over the years. Experienced developers can diasect code faster than the newbies, produce better managed codes and well-architected systems that could benefit the company and customers. Being in the industry for almost a decade now, I can somehow appreciate the coding ability I have.
Most companies believe that once a developer achieve a certain salary range, they should be managing instead of developing. With the same amount of salary, the company can hire many freshies to do it. This is where they failed to see the value in experienced developer. Experienced developers have lower 'learning' and 'training' cost.
Have you observed how young developers start developing their skills. A simple piece of logic may take them 2 to 3 days or even weeks to complete whereas an experienced developer maybe able to do it in an hour - *How long does a manager takes ah?* This is because newbies spend time on learning and that is what the company is paying for.
If you ever inherited systems from other people, you can easily tell their level of skills when they designed it. As developers become more experienced, they are more mature in their design and places emphasis on other issues like maintenance and extensibility as opposed to just passing-up the homework.
But what happens today is that once you are about 5 years or more, it is time for you to be a manager. Your skills die with your journey to management and the industry is filled with mediocre-skilled workforce and failed projects.
Think about it: If every developer becomes a manager, there won't be C# or Java or Delphi today. And if you are a manager who have let go your software development skills, what can you do if you lost your job at the age of 40?
In our society, it does appear that anyone can be a manager. But to be a good manager, that is another story altogether.