Be a programmer with Chinese characteristics

original
2012/07/31 11:38
Reading number 2K
Starting from the publishing industry
Network works are ranked at the top of the list, and they are not too ugly. Ordinary people don't like a certain work because they don't like this type, and this person won't dislike these network works at all. The reason is that the network works are the first to be seen in vain, and only when they are well seen can they be seen. The paper works are not necessarily, there are good works and rubbish at the top of the list.
Many Daniel wrote blogs and later published books. These books are not second to none. Some people may let them down because technical books are not like novels. Novels are reading stories. Technical books are learning or reviewing knowledge. Some technical books may be read against someone's learning habits, which makes them feel bad.
Therefore, the network is a magic space, which can create experts, and network experts can never be underestimated.
architectural engineering
There is no lack of tofu miscellaneous in construction engineering, but the probability of tofu miscellaneous is very small compared with software engineering. As a software developer, it is very likely that a programmer did not do anything in the development phase, but in the construction industry, unless it is the final stage, it is absolutely impossible for a worker to do nothing in a day. Construction workers still earn a lot of money, but they are definitely hard-working. Programmers are not necessarily hard-earned because software engineering is not as mature as the construction industry, and many programmers are doing nothing every day due to improper distribution. The threshold of construction workers is relatively low, but it is not easy to reach the proficiency level. Even if the lowest bricklayer wants to reach this level at least, you need physical strength to keep up. You have to endure without a day's rest in January. It is not easy to think about it.
Use of Chinese software
The software is not necessarily useful after acceptance. In my opinion, if a software wants to be useful, it should at least achieve one of the following functions:
1. Save time for users
2. Save manpower for users
3. Convenience for users
4. Bringing knowledge to users
5. Enable users to do something difficult to achieve
6. Bringing happiness to users (such as games)
7. Save resources for users
8. The auxiliary user makes a judgment
9. Solved some problems for users
10. Provide resources for users
But after many software has been created, users have spent money without using it, and have brought nothing with them. They still have to spend time and effort to learn this software, which is not worth the loss.
But there is a very pessimistic news. Except for online software (including websites), Chinese people are accustomed to using all useful software for nothing. However, software that costs a lot of money often brings few benefits. Not at all. The price performance is too poor. So the current situation is that there is no market for useful software, and the software with market is of limited use. What an embarrassing thing.
All of the above has brought about the fact that, in addition to network software, it is not easy for Chinese software to earn money.
Programmer's passivity
If a programmer does something that can't earn money, or makes money that makes customers feel worthless, then the value of the programmer will be reduced. In this way, construction workers often do not work in vain to fill cement for a day, while programmers often work in vain to develop for a week, which is common.
This makes the technical positioning of the program very awkward. In China, to be honest, not every programmer can use memory management every day. Even the most basic algorithms are encapsulated by high-level languages. Of course, there are also many low-level programmers, so we don't have to compete with me. The most important thing is that high-level languages, business requirements, and construction period determine a lot of coding and operating systems Algorithms, memory, etc. are increasingly disconnected. In this way, many programmers have worked for several years and become familiar with a lot of specific businesses, but the most basic knowledge of programming is gradually forgotten. This is why many programmers in the market are asked to do a basic data structure and algorithm (such as digraph, or sort as Lao Zhao said), but they won't. Who do you want to reason with? It's not as good as construction workers. They say they can brush paint and do a good job.
In some companies, sales, administrative, and even implementation personnel have advantages over programmers. In their eyes, this group of people who sit there like eminent monks every day accounts for most of the company's population, but they do not make much contribution. Instead, their hard developed customer groups are abusive.
Programmers, good passive.
Chinese people who do not play cards according to routine
Everywhere in China, there is a phenomenon of not playing cards according to the routine: not using authentic products, not being punctual, faking, counterfeiting, not queuing up, cooking oil, not following the contract, shoddy goods, and no service. This is a bad atmosphere, so that every day everyone is used to this rule, but numb, do not think it is wrong, just as I (I dare not say you are) read other people's books and use other people's software every day, without feeling how guilty I am.
The way out for Chinese programmers
Chinese programmers have also done a good job. Although the best ones are nothing in the world, there are still many who can achieve non passivity and make life better with their own efforts. To sum up, there are the following:
1. Educational type, mainly learning knowledge, writing books and giving lectures.
2. Free type, mainly for working for yourself, to do well in small team software, to accumulate users and achieve useful software, to earn valuable money.
3. The business interpersonal type is generally oriented towards management, and is proficient in database, report, server and a certain business field with advanced language.
4. Senior white-collar workers are mainly engaged in core projects in international companies. Because of their good treatment, they are rich and handsome workers.
5. Entrepreneurial, as a boss, maybe this is no longer a pure programmer, so this is only half.
All of the above paths can be taken, but most programmers are not in these five categories. They are all working hard for survival in some companies.
Reading technical books is not necessarily an invincible way out
I often like to say that if you can't write a good article with 3000 Chinese characters, you may not be able to write it if you learn 80000 Chinese characters. Similarly, if most of the programmers in the market can achieve Facebook in the early days, but you can't make a useful software like Facebook with these knowledge, then you have read the operating system, design pattern, code collection, algorithm introduction I still can't do it. So I am disgusted with the list of mandatory books for programmers on the Internet, It took you ten years to finish these fifty books Can you write code?
Start with the environment, find the knowledge and resources you lack, and make breakthroughs again
Personally, programmers should first position their goals, then define the environmental circle involved in the goals, catch problems within the environmental circle, define their own knowledge and resources, and purposefully carry out learning and environmental breakthroughs, which is more suitable for programmers.
That is to say, if you are educational, you should be detailed to the knowledge points within the scope of your knowledge; But if you are a free type, it is not necessary to be meticulous, otherwise you are not developing every day, but learning. If you are a business interpersonal type, you may have an unnecessary understanding of the operating system and network, but your business needs to be pure.
Keep the scope as narrow as possible, and perseverance is the key
In fact, no matter technology or interpersonal, the knowledge involved is limitless. If you want to learn well and then work, I think there will be no opportunity to work. So try to narrow the scope of the knowledge field as much as possible. For example, the above five categories of talents narrow the scope of one layer, but this is still very rough. If you are educational and want to teach people to use design patterns, try not to learn WPF first, but to make design patterns expert first. I think you can understand the truth here.
Conclusion
I have written so much, but I'm not educating anyone. I don't have this qualification. Open source China How can it be my turn to teach. The goal is to find a way out for programmers and make them less migrant workers (or code farmers). It is helpful for me whether we are making bricks or sending flowers. After all, I am also exploring. I don't like those writers who write something like How to Make Programmers a Millionaire and don't even own 100000 yuan, but I really don't object to the authors' offering suggestions.
Expand to read the full text
Loading
Click to join the discussion 🔥 (7) Post and join the discussion 🔥
Reward
seven comment
nine Collection
eight fabulous
 Back to top
Top