What is the focus of software development workers

Source: Internet
Author: User

"We have been doing this development, time to do long, then forget the original intention." 」

What do we talk about software system development?
We talk about processes, coding specifications, development processes, peer review, pair programming, continuous integration, from waterfall to agility to extreme programming.
We talk about architecture, Enterprise, EE, containerized, SOA (service-oriented architecture), MicroServices (microservices).
We talk about scale, large capacity, high concurrency, big data.
We also talk about reliability, availability, n 9, response time, etc...
What is the core of all this?

First of all, a story of the power industry, electric power projects I have not done, the principle of power plants have some knowledge, but see those large-scale power station still feel quite complex. This is how the story begins:

Remember a teacher who gave us a training class is a overnight old gentleman, after the door out a bunch of parts placed on the podium, an alcohol lamp, a small kettle, a blade, a small copper shiny motor, a small light bulb. The old gentleman poured some water into the jug, lit the alcohol lamp, and in a moment the water opened, the steam was sprayed from the spout, the blades were rotated, and then the small light bulb lit up.

"This is the power plant," he said.
"If it burns coal, it's a coal-fired power plant; if it burns gas, it's a gas plant," he added.
If the way to obtain thermal energy is nuclear fission, this is the nuclear power plant; If the energy that drives the blades comes from the water flowing from the high to the lower, this is the hydroelectric plant.
You may ask, "How complex the power plant we see," the old gentleman said, "The answer is simple: power projects require complex systems, one to ensure security (Safety), and two to improve efficiency (efficiency)."

The balance of safety and efficiency is at the heart of all engineering technologies.

After reading this story, I feel that the so-called "Boulevard to Jane" is probably the case.

The fundamental of developing software system is to satisfy the demand, the system that cannot satisfy the requirement is meaningless. What's the point of being a safe, efficient power plant that doesn't generate electricity? So software system development is to ensure security and improve efficiency around the fundamental foundation.

Requirements as a fundamental difference in software, demand is diverse, the demand is also complex. A large-scale ERP system, a large-scale warehousing system, a large-scale Web site system, in the end who is more complex, not a quantitative standard, or even bad qualitative analysis. So before we talk about software system development so much of the content is about the "security" and "efficiency" of the two core around the fundamental.

All software development methodologies, such as waterfall, agile, and extreme programming, revolve around the efficiency of development activities, while coding specifications, process development, peer review, and so on are security issues related to development. SOA or further microservices, in fact, take security and efficiency into account, service splitting facilitates the parallel development of large-scale development teams, improves development efficiency, but the complexity of on-line deployment reduces operational efficiency, but operational efficiencies can be remedied through automation, while development is impossible to automate.

Similarly, reliability, availability, and disaster-tolerant design these activities revolve around the "security" core, while performance optimization and responsiveness are around "efficiency." Some key software systems have to take into account both "safety" and "efficiency", such as software systems used in airplanes and cars to control ups and downs, brakes, and throttle, unsafe or inefficient, causing accidents to be dead, while the other majority of software systems are dead due to unsafe or inefficient accidents.

No one is arguing about whether building a power plant is an art, but there are people arguing that software development (program design) is not an art, but most of the software system development is more inclined to engineering technology.

What is the focus of software development workers

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.