Image courtesy @oiax
Someone ridiculed: "The biggest dilemma for Chinese programmers is that yesterday, on the Github, the anti-996 project was added to the star. Today, we will work overtime to 360 browsers, QQ browsers, UC browsers... update the anti-996 project. URL."
This sentence is just a joke. In fact, it is very inaccurate. On the contrary, Chinese programmers are usually not directly responsible for this kind of work. Large Chinese companies usually carry out very detailed dismantling of the project.
Take this function, the usual implementation is: the front end of the application reserves the shielded interface and interface functions, the back end gives the management data delivery channel, and then a data management background for the auditor to maintain. As a result, no programmer specifically blocked the URL of the Anti-996 project, but almost everyone involved in a small part of it.
If you are not a practitioner in the Internet industry, or if you work in the Internet industry, but do not understand the living conditions of the grassroots programmers, then you are the readers that this article hopes to face.
"Code farmer" and workshop workers
Let's start with how big companies in China generally develop a browser. What is the situation of Chinese programmers? Why can this thing spread quickly and have many responses? After understanding this specific case, there may be a more intuitive understanding.
The browser itself is a software with relatively complicated technology and high development cost, but there are many domestic browsers. A complex, high-cost thing has competition for homogenization. Why?
This is because domestic browsers basically use a browser kernel called Chromium or a similar kernel, and secondary development based on it, the development cost required is greatly reduced. Chromium is a browser kernel developed by Google based on other open source software. It is also open source software.
This is actually quite correct. In recent decades, information technology has grown by leaps and bounds, and more and more people have become consumers and workers in the information industry.It is because open source software has become the infrastructure of the Internet.Since the basic technology of the Internet is almost always open source, repeated "inventing the wheel" is unnecessary. This allows developers to focus on two directions: in-depth research on basic technologies, or development of technology applications.
China's information technology industry, especially some large Internet companies that have emerged over the past decade or so, are mainly focused on the development of technology applications. Over the past decade or so, the opportunities offered by the development of China's Internet industry have made the industry realize that the benefits of investing in applications are clearly greater than the benefits of basic research.
With the advancement of these basic open source technology development tools, the entry barriers for Chinese programmers are getting lower and lower, which is in line with the increasing demand for programmers in the market. With the participation of capital in the Internet war, "fast" has become the consensus of the Internet industry. In fact, due to the existence of the open source ecosystem, technology development is now too fast to be fast, but the market competition is cruel, not the fastest and only faster.
This creates a contradiction: the industry is expanding rapidly, and the water of employees is getting higher and higher, but the market is increasingly demanding the efficiency of the company.In this situation, research and development in technology applications can easily fall into the essence of labor-intensive.
It is no wonder that programmers often ridicule themselves as "code farmers", which means "migrant workers who write code." The programmer has faded the aura of "intellectual laborers" and seems to be a job that is not much different from the workshop workers:Whether it is from the complexity of the work, or the length of work to the output of the work, it is getting closer and closer.
If you have tried to learn some of the basics of web development yourself, you may be sighing that there is something similar to the working status of a construction worker and a decoration worker.
The real status of grassroots programmers
Of course, the analogy between programmers and traditional industrial workers is not entirely correct. This is mainly because mental labor, or intelligence and knowledge, play a much greater role in the development of information technology.
As mentioned earlier, the open source-based technology ecosystem has made the technology itself more and more iterative. Information technology itself is changing with each passing day. It is created by its users, its users are leading its development direction, and it drives users to constantly update their knowledge.
In the face of a demand, there may be dozens of ready-made technical solutions to choose from. Which one should be chosen requires technical knowledge and judgment. Why do domestic browsers choose Chromium as their kernel instead of others? This decision is not made by any programmer of the company. It must be a technical committee resolution of each company, or a technical manager or architect.
Although everyone uses the same kernel, we see that each browser has its own features. This is not the programmer's own idea, but the requirements of the product manager. In order to coordinate the resources of the market, product design, and technology R&D team in the company for a specific project, large companies often set up project manager positions to do project management.
From this we see the position of the work of the grassroots programmers in the structure of the Internet company.
Once the product design department determines the requirements, the technology research and development department will then determine the technical implementation plan. The rest of the work is to be dismantled and handed over to the grassroots programmers, step by step, one line of code and one line of code.
Various managers are busy meeting, meeting across departments, meeting in the department, determining the requirements, and then implementing the product design and development needs.A grassroots programmer may also face meetings three times a day, or the needs change, leaving the time to write clean code is not necessarily controllable.
The programmer is not a single group