For a long time, I have been learning C/C ++ language.
On the one hand, the excellent open-source software is used for C/C ++ writing, such as nginx, redis, Apache ..., at the underlying level of the system, at the bottom of the computer, memory management, data structures, algorithms, and so on are all completely unknown.
On the other hand, for the languages I have mastered, C #, PHP, JavaScript, and ActionScript are all fashionable languages. For application development, they have their own fields of expertise. If you are proficient in any language, finding a good job is definitely not a problem. However, when you switch between different languages, the more languages you have, the more languages you can use. For a programmer's career growth, from technology to management, the proportion of the technologies mastered in all aspects of the overall quality should be smaller and smaller. Non-technical factors, such as management skills, emotional intelligence, and ways of doing things, may be more important.
For example, I have been working for eight years. On the one hand, I have to make breakthroughs in technology, work harder, and learn more about the underlying layer. On the other hand, the software design architecture and performance improvements make it important to understand the underlying principles and algorithms. As a qualified architect, you should have the minimum professional accomplishment. So in the next time, we will mainly learn the basic languages, data structures, and algorithms.
This document serves as the starting point. You are welcome to join us.
2014-08-02