My personal experience is a little special. I did not study software, but I joined this industry in the context of software popularity.
Since many of my colleagues are still in the original industry, Communication from time to time has made me reflect on the differences between software development and machinery manufacturing.
Honestly, for graduates, 10 years ago, the software revenue had a significant advantage over mechanical manufacturing, but 10 years later, this advantage is not obvious.
This is also one of the reasons that triggers me to consider this issue.
The software industry and mechanical manufacturing have a very different characteristic: the frequency of knowledge change is faster.
This feature has a key impact when considering how to make yourself appreciate.
The rapid technological change refers to the phenomenon that today is valuable and tomorrow may depreciate to 0.
This is very different from mechanical manufacturing, such as learning to make a turbine. In an industry like a turbine, the Three Laws of thermodynamic learned today are no different from those of the Three Laws of thermodynamic learned 50 years ago.
However, the software industry is not good. A platform or language on which you depend can easily be changed. A few years ago, only Win32 apis were easy to use. However, if a person stays only in Win32 APIs, he would not be able to adapt to today's software development. A very prominent development environment such as Delphi has almost no sound today.
This may be due to the fact that many traditional industry skills rely directly on natural patterns such as thermodynamic, fluid mechanics, material mechanics, and so on. These things will only deepen themselves, but there will be little disruptive changes. However, what software development requires (APIS, etc.) is often dependent on a company or organization, such as Microsoft or Apple, which is an artificial system. Once the basic needs of society change, these companies or organizations must constantly abandon and update their systems, such as: GDI --> GDI + --> WPF.
For example, we can make this difference more vivid:
For example, two different people, one in the traditional industry and the other in the software industry, both of them are very diligent and constantly pad things at their feet, trying to make themselves a higher position. People in the traditional industry will naturally grow, while those in the software industry will suddenly disappear.
This does not mean that the software industry does not have things that have a long life value, but these things are often concentrated in some specific fields, and few practitioners are involved, so they are not representative. The most typical thing is the general data structure and algorithm. Today's sorting algorithm will certainly be equally valuable in 10 years, but after all, it is a minority dedicated to algorithm optimization and improvement. Less than 5% of Americans are doing this sort of work, and 95% are dealing with fast-changing technologies.
This basic feature has a profound impact. For example, you may be very hard-working, but you may fall behind when you are not careful, either because you are not busy or because you are not hard-working.
Simply put, with time in mechanical manufacturing, the scarcity of a person often increases gradually. Of course, his income also increases gradually as long as the industry is still in progress.
Software development is not. Once reset, the white hair may not be as good as the one just graduated.
When planning your career path learning method, I am afraid I will not be able to ignore this, it will be easy to be beaten on the beach by the back waves, and it will also affect income.