Software "Workshop Technology" (Part 2)

Software "Workshop Technology" (Part 2)

"At the same time maintaining two completely opposite concepts and being able to act normally is a sign of first-rate wisdom."
———— Fitzgerald, author of "The Great Gatsby"

Following the discussion in the previous article that software is a "factory technology", some colleagues also left a message to discuss it, and continue to add and improve it. Careful people may see that the title of this time has changed a word "Workshop" field, which also slightly represents the meaning of wishing to express the laws of software more accurately.

Software "Factory Technology" (Part 1)
https://editor.csdn.net/md/?articleId=112578061

Speaking of factory technology last time, I gave an example of the Tesla factory. For further elaboration, I will add another example this time.
When talking about science and technology, we often think of laboratories, scientific researchers in white coats, various experimental equipment, and so on. The technology is developed by scientific researchers in the laboratory, and then taken to the factory for large-scale production. We can call this technology laboratory technology. Most of the patents accumulated by the Japanese in the field of liquid crystal belong to this kind of laboratory technology. Unlike laboratory technology, the development of the LCD industry shows another equally important—perhaps more important—technology, which is factory technology. LCD companies in South Korea, Taiwan, and Mainland China later accumulated a lot of factory technology. The crazy offensive investment strategy of Korean companies has allowed them to take the lead in factory technology and overtake Japanese companies.

What is factory technology? For example, in LCD production, avoiding dust is a big problem. Moreover, the requirements for dust-free liquid crystal production are higher than those of the same semiconductor CPU. In the production of CPUs, many small silicon wafers are cut on a large silicon wafer to make CPUs separately. If dust enters, only the corresponding CPU chips will be affected, and most other silicon chips will not be affected. But the liquid crystal is not good, the LCD screen is a large piece of glass. The same is mixed with 10 particles of dust, CPU production only needs to remove the 10 CPUs, the others are still qualified; the LCD screen has 10 non-luminous dead pixels, so the entire screen is considered unqualified and completely scrapped. Therefore, LCD production has very high requirements for clean rooms. The dust-free technology itself is not complicated and can be easily implemented on a small scale in the laboratory. But it doesn't make much sense to do it in the laboratory. The important and difficult thing is to do it in a large factory. The construction of a dust-free workshop in a huge factory building with a height of tens of meters, various equipments and people coming and going is completely another set of technology. The point is that this technology can only be gradually explored and improved locally at the time, and it is impossible to complete it in the laboratory in advance and then simply transfer it to the factory. This kind of technology that can only be accumulated locally and in combination with actual production at that time is factory technology. Compared with laboratory technology, a single factory technology may not be so advanced or even very inconspicuous, but a large number of small improvements and tricks have become a set of big technology that is more difficult for competitors to copy and surpass. This kind of technology cannot even be taught to you with a manual. Many technical details exist in the minds of employees at all levels. A practical example is: When BOE first put into production a certain LCD production line, the biggest problem it faced was the low yield rate, which was only about 60%. Of course, the low yield rate will keep the cost of the product high. Workers have to swing sledgehammers every day to smash the substandard LCD panels-it is simply distressed. How to improve the yield rate? I don’t know, everyone can only improve it a little bit where you want. Get here today, get there tomorrow, and gradually reduce the amount of dust. After a period of hard work, beyond everyone's expectations, the yield rate reached 95%! In the whole process, there is no great black technology, and some are just countless improvements and adjustments at the production site. In addition to LCD production, this factory technology also has performance in other fields, such as the common logistics industry. Whether it’s warehousing, conveyor belts, road transportation, or couriers riding small tricycles on the streets, it doesn’t seem to be advanced technology, or even simple labor, and everyone uses the same equipment. But combine these links closely together From the beginning, the software and hardware are constantly being repaired, and the small steps are improved to ensure the efficiency and convenience of the logistics system. This set of experience and skills is the factory technology. They are all e-commerce companies. Some orders are placed in the morning and delivered in the afternoon, and some take several days. Similarly, there is no great black technology, there are just countless small solutions and bit improvements.
Insert picture description here

As an example of our own team, OSDT has previously represented large companies in the international mainstream open source community, participated in several sub-projects, and gradually developed some open source versions to integrate 5G, MEC and other open source projects that require independent construction and operation. Such a transformation, I feel that it needs a factory-oriented, organized production capacity. Before, a small amount of personal experience was equivalent to laboratory technology, and the quality may be ok, but there is no way to mass produce. How to do? This requires exploring factory technology. Relatively large open source development, operations, industrial strategic insight and planning teams, how to ensure quality, how to improve efficiency, how to ensure safety red lines, and how to iterate in the long term are all problems. In fact, there is no trick, that is, continuous production, continuous collision, PK, exploration and fault finding, continuous summary of the law, and then continuous summary and solidification. This process is the process of developing factory technology. Once such technology is accumulated, it not only exists on paper, but is actually stored in the mind of every colleague, and in the collaborative relationship between them, this advantage is very great. The misunderstanding of many people's thinking is: respect laboratory technology and despise factory technology. This is actually a lack of industrial thinking. Industrial thinking is to consider issues from the perspective of industry and personnel capabilities. In fact, this "factory technology" has not been fully developed, and it is still on the way, but even so, just find a few people who can code and understand strategy to put together a team, but it is indeed impossible to do what OSDT can do. Inadvertently, The team built a "difficult to replicate" and "irreplaceable" technology in the field of telecommunications networks.

Since open source is closer to software, so back to the software itself. Recently, after reading the classic "The Hacker and the Painter" by Paul Graham, the father of Silicon Valley entrepreneurship, it also gave me some inspiration. His core view is that software or computer science, including computer engineering, is strictly a false proposition. Combining his own experience, Graham sees himself more as a hacker (not a hacker), meaning a more creative programmer. He feels that the theory and science he needs to master is not as good as a painter needs to know more about paint ( Of course, painters still know paint well), the author further said that instead of seeking theory in the "CS" field, it is better to seek creativity in painting. Since the author has always regarded himself as a hacker, his speech is still relatively sharp and extreme, but given his personal achievements, the deep meaning he tried to express still cannot be ignored. The author emphasizes that personal creation, interests, hobbies and inspiration are the basis for making good software, because good software has no standard.

In recent years, we have paid more and more attention to software. We have done a lot of "practices" from top to bottom or from bottom to top. In the early stage, there were activities such as agility and pair programming, which were then strengthened under the concept of cloudification. CI\CD, learn Google's SRE, try DevOps. After Ali and others put forward the concept of China-Taiwan, "China-Taiwan" has been flying everywhere recently. From the early CMM and ISO9000 in the quality process, to the current safety red line, credibility and so on. There are also many ways to improve the skills of software engineers, such as training, exams, certification, writing questions, and even strengthening the interview process. And once this topic comes up, it will not end until it finally returns to the broad topics of culture and genes. Then it circulates between these points, adding more water to the surface, and adding more water to the surface. The leader gave a lot of instructions and conducted a lot of research at all levels. It was inevitably like a "exercise" wherever it was. If you didn't catch it, it wouldn't work. The overall result did not seem to be able to see obvious improvement.

The title of this article is easy to cause confusion to everyone. Factory technology is not just a manufacturing industry, but a concept oriented to hardware. Why try to explain the laws of software and avoid hardware thinking but still use the concept of factory. This has to go back to this article. The intention is to hope that everyone avoids simply treating software as a similar hardware, which is easy to manufacture and copy on a large scale. Once the invention and experiment are completed in the laboratory, the following misunderstanding of scale manufacturing is required, so the factory here emphasizes What is "factory technology", compared to "laboratory technology" or "patented technology", is essentially a complex system of technology, and human skills, the mastery and follow-up of software industry technology and open source capabilities, and engineers Creativity is very relevant. It emphasizes both individual combat capability and collaboration (large-scale products and software). It emphasizes both experience and creativity. If we can summarize a few characteristics, it seems that there can be the following "portraits":

1. The software is invented, tested, and manufactured at the same place and completed simultaneously by the same team. There is no strict concept of upstream and downstream and links, and there is no concept of assembly line. This is very different from hardware; it also proves from the negative side that if software engineers call themselves "code farmers" or "workers", it will be difficult for software to do well;
2. Software concept and design It is not as important as the documentation, but a kind of "craftsmanship" condensed on the "craftsman". Its high quality and good standards are multi-dimensional and complex, not only stable, high-performance and other simple hardware indicators; , Flexibility, resilience, robustness, and even development and maintenance efficiency are involved;
3. Software’s intangible asset attributes and zero marginal manufacturing cost are derived from its patent attributes, and the protection attributes are not so strong, but the platform and ecology And open attributes can better reflect its stickiness. This is very paradoxical. The more users and wider the software, the more applications it supports, and the more obvious its network effect and closed effect are reflected;
4. Software engineers' lifelong learning ability, Mastering the industry’s open source components, tools, and platforms (similar to the concept of components and BOM lists in hardware manufacturing and R&D) is as important as mastering the design framework, patterns, etc. This is the same as the above point 1, its inventor, design The roles of the teacher and the manufacturing worker are often one.
5. Multi-person team collaboration software development organized around processes and traditional "software engineering" can only meet Indian software outsourcing in the last century (Neusoft also has outsourcing in China) and simple database-based software. Now we must introduce the concept of "software workshop", empower people, and develop similar creative studios, creative partners and other amoeba-style development around senior programmers. This puts high demands on human resources, and the development team needs to be organized like advertising companies and game companies. Inspire engineers to learn enthusiasm and improve their skills.
6. Software has no concept of supply chain, only tool chain, open source platform, ecology, application and other concepts. When the process, chain, and management of traditional industrial manufacturing are extremely compressed into one point, quantitative changes appear qualitatively. Human skills, passion and creativity have become extremely important. Its use, purchase, property rights, transfer of property rights and value acquisition and sharing have also become blurred. So software is destined to be a "freak" that challenges all ready-made manufacturing, management, and business concepts.

This is why the long-winded articles use an analogy similar to “factory technology” or even “workshop technology” to illustrate its complexity, inherent paradox and fallacy, as well as the combination of people, teams, culture and skills, as well as inventions and manufacturing. , Supply; as well as the use, purchase, distribution, realization and other multi-dimensional highly compressed at one point, just like the "black hole" in the real world, at this point, the traditional concept of time and space is distorted and changed, we must use more abstract To understand and develop software capabilities, improve the level of software, and provide continuous, good, and credible software products and platforms.

In short, when we say that software is going to eat the world, this software is also gradually evolved from the software of the 1950s and 1960s, but with the cloud, platform, ecology and other business formats, along with the digitalization of thousands of industries With the tide, the software has become very different again. When software such as a "craft" and intelligent manufacturing are combined with each other, it is necessary to treat and manage complex systems from the perspective of organization, collaboration, talent, skills, open source ecology, etc., any single skill, knowledge and experience In the face of software improvement, they seem to have a strong sense of "powerlessness".
At this point, in fact, there are some contradictory points in the article, or if the reader wants to provoke or raise the bar, there are too many such materials in the article, such as factories, manufacturing, scale, creation and other seemingly contradictory concepts.
Insert picture description here

Fortunately, the writer Fitzgerald said that "the one who can have two diametrically opposed concepts and can do things normally is a person with first-rate wisdom." The true maturity is not how much you understand, but the understanding of more small contradictions; if everyone’s growth is destined to have a price, then the maturity and improvement of software engineering and software technology also requires a huge amount of effort. In terms of cost, what I hope most is that after experiencing all the costs, we can exchange for a true sense of maturity.

Guess you like

Origin blog.csdn.net/rxdboy77/article/details/112578516