There is a common myth in China: After programmer turns 30, he is too old to keep programming, need change direction, to management or other domains.
It may not make any sense for the programmers outside of China, there are many talent old programmer out there, still doing great job. But this myth reflect something need to worry about, In short words: programming is easy to learn, hard to improve.
With the greatness of internet and hard working of programmers, knows how to programming, is just a matter of time. Dozens of websites tells you how to build a website or GUI tool, thousands of books give you a detailed walk through, from novice to expert. You can create a website on your own, under 1 month, even though has no IT background.
So it bring down the threshold, and for the domain with low requirements, employees there are under heavy competition, easy to be replaced.
And programmer’s job brings low benefit. They are isolated inside digital world (some of us forced to be more socialize for keep balance), investment of time on new tech devaluation fast, repeating doing jobs of CURD, domain specific knowledge which cannot scale or be reused, and need lots of brain power to finish the job so leave less energy on self improvement after work.
Then after several years of hard working, programmer may found that he is less competitive with the newbies, and aging issue came out, make old programmer hard to follow new trend, hard to focus the mind on solving coding problems, and it will lead to decrease of the salary income.
There still are some way out:
Tech Management. People who can lead a tech team is always rare. It require good understanding of programming and problem domain, social skills to communicate with team members with different background, and good control of project schedule.
IT consultant. With all these years of working, the programmer has deep understanding of the information system, and how business works. Organization need he to maintain and improve the system, he will become part of the system.
CS expert. Programmer has deep understanding of computer science, and smart enough to solve tech relevant issues which others can’t. They can bring great value to the organization, either create core competition, or keep complex system work smoothly.
All these positions are hard to archive, only few of us did. Average forks will remain average, face the hard cold winter.