I had a point earlier: the development of software engineering, or software industrialization, in the past few years was backward! I’ve been holding on to this for a long time. Until cloud computing comes along, I think this is the direction of software industrialization. Today we’ll talk about why cloud computing will lead the software industry to its own industrial path.
Political textbooks tell us that as an industry develops, industrial technology tends to be complex. In the face of increasing complexity, there will be more detailed division of labor, and each division will become more focused on its own area. From the perspective of social structure, professional organizations will inevitably emerge to provide professional solutions and provide targeted products.
The software industry has also tried this: software outsourcing. The low marginal cost of software has also led to the offshoring of industrial production. I used to think this was the ideal way to industrialize software production because it was so similar to traditional industrial production. However, software is a product with its particularity. It is an information abstraction of the process of organization production and operation. In the operation of enterprises, business and process changes are inevitable. In the days before software, making such changes required only a piece of paper, employees naturally changed their workflow, and everyone seemed to quickly adapt and move on. However, it is different with software. Every process and business change means software change. What could be solved by adjusting a few people with a single notice has become software modification. , after all, the software industry is too young, what’s more, compared to other industrial products its change cost is too low, you won’t be in today has just moved into the new house to the bedroom to the balcony, kitchen and toilet next week swap places, also will not ask you at the foot of the automobile throttle and brakes to hand control, more can’t imagine three days two head to a doctor to diagnose standard change. However, the mismatch between the production mode of outsourcing software and the changeable product demand results in that software outsourcing cannot adapt to the situation at all. The outsourcing model seems to have become the dregs of the industry, saying that export will be abandoned.
Attempts to outsource software, especially if it is tailored to an organization, have been a bit of a joke. But life goes on, and the absence of software means inefficiency. How to do? Do yourself! So companies are vigorously organizing their own research and development teams. The rich line is bigger, the poor line is smaller. The super-rich have formed their own in-house software companies to serve only themselves. These companies’ software teams are getting stronger, and each has its own strong base software product. Look, how many databases have been opened in China? Not to mention MQ! RPC also every family to their own set! The whole industry is very lively, a thriving appearance.
Every organization tends to build its own set of wheels, even if the wheels are square, because their babies are pretty by all appearances. Even a baby found, well fed for two years and dressed up is better than anyone else’s. Detailed division of labor? The first two years also vigorously stir up the concept of full stack engineer! I still remember when I was a child, my mother had a hospital, a school, and her own construction team. She built all her own houses and seemed to want to build tractors by herself. How does it resemble the software industry today? Every technical team wants to build everything themselves.
What lies beneath all this Shouting? It is a great waste of social resources! And with the development of software technology, the increasing complexity, many things can no longer be a few people pull a small workshop. Big data solutions, artificial intelligence solutions, voice and image recognition solutions… Are these still wheels that ordinary companies can carry? Don’t forget that over 90% of the companies in the market are small.
At this point, we ask ourselves: what do we really want? We don’t want databases, we don’t want MQ, we don’t want RPC, we don’t want fancy frameworks! We want software products that increase efficiency! We want information tools that can solve our problems! But why are we paying so much for something we don’t care about? Why do I have to build buildings and hire people to burn bricks? Why do I need a blast furnace to make steel when I want a car? Why do I have to eat a bowl of rice to plant rice seedlings? No, this is not how he should be!
But the original problem remains, and the instability of software functionality has not gone away. How to do? It was an epithet to the tough r&d teams: the things that cost the most to develop aren’t really relevant to the business, so we can sell them. How do you sell? It’s still too expensive to sell a bunch of products to someone else to deploy and maintain. Let’s get rid of all these things that are far from our business. You can use it! Cloud services were born. High availability of load balancing; Unlimited capacity large storage; Massive data visualization… Come on, do not develop their own direct use of the line, the price is not cheap to raise a group of people to do the research and development of basic components to which side to go, the time and money saved to expand the market, optimize the business. In this way, the original designed for their own services of the components of the public, we use together, research and development costs are amortized, business implementation is easy. The social value created in this way is higher than that of building wheels.
In my opinion, this is a great progress. Although it does not completely solve the problem of personalized software requirements, it is already a great industrial progress. To a large extent, it alleviates the contradiction between people’s increasing information demand and the soaring cost of software research and development. And I’m glad to see that with the spread of cloud computing, people’s thinking is becoming clearer: lowering the barrier and cost of application development is a clear direction. I think that one day software products will also become an ordinary industrial product through streamlined and meticulous production processes into everyone’s hands, it is cheap and flexible. At that time, programmers should return to the centralized production environment, give full play to the advantages of technological scale to better provide end-users with easy-to-use services, so that users can easily and quickly obtain highly customized software products. Let software return to its essence as a tool, a production aid like a screwdriver or a hammer, rather than a variety of wheels made by high research and development costs. Free up productivity and use this tool to better create value.
Welcome to my wechat official account: UliianMP