How big is the role of people in software development?

Yesterday (2021.03.03) WeChat refreshed the news and read an article about "Why is Software Development Still So Difficult". I was a bit touched. Here are some nagging words for my friends.

 

The article said that modern programming languages ​​have evolved very well. It stands to reason that software development should not be as difficult as before, but why is software development still difficult now? I have listed many points of view. I strongly agree with one point of view, that is, writing The person of the program is very important.

 

Like many artistic behaviors, writing code has the characteristics of non-replicability, divergence, and lack of physical observation, and the judgment criteria are uncertain. For example, it is also painting. A master draws a work. When inspiration comes, it may be completed in a day. , When there is no inspiration, it is not always possible to paint in a year.

 

But writing programs does not have such a good public recognition. If you are a freelance programmer, you may have better time freedom. You can write code more freely and have free time to think about how to optimize yours. Code and logic, but if you are unfortunate, you are an ordinary employee who is assessed by various KPIs of the company every day. Will you have the time and energy to perfect your code and logic?

 

Here is a deeper point of view.

 

That is the problem of programmer's self-driving force.

 

A person has a good internal driving force. Regardless of his working status, whether he is a part-time worker or a freelancer, he will take time to internalize his own skills, he will continuously improve his technical level, and his ideas for solving problems will also be better. Divergence, take the initiative to optimize the code, so as to complete a relatively perfect code work in a limited time.

 

However, the reality is very face-off, and most programmers will not do this. At present, the entire programmer industry is mixed, and some people join the programming industry because of high salaries and a comfortable working environment.

 

The code written by some people is terrible, and they don’t want to make progress (of course I don’t want to say how good they are). In addition, many lay managers, blindly directing, and managing randomly, the final result is one look when a project is designed, and another look when it is completed.

 

The user is uncomfortable, and the maintenance personnel are also painful. It is always the people at the bottom and the front line who are the most hurt. And those leaders who are aloof and far away from development are glamorous, sit back and enjoy their achievements, and then boast about their reputations.

 

Back to my point of view, human beings are a variety of species with great arbitrariness. If there are 100 people in a project, there will be 100 opinions and ideas. If a standardized system and strong execution cannot be used, It is difficult to guarantee that the project will be completed on schedule. As large as the overall design of the project, as small as the coding specifications, it is necessary to clarify in black and white, and then through continuous specification improvement, so as to achieve the development team’s mind and effort, and the developed product is Only qualified and easy-to-use can become fine products.

 

Software development and real estate development have the highest similarity. Why can real estate development be standardized, while software development is so random? Perhaps it is real estate development, it is an entity, it is visible and tangible, and after so many years of evolution, a complete set of models has been formed. The coding is virtual, encapsulated, invisible and intangible, and can only be judged from the surface. This has resulted in many programming languages, many development tools, many frameworks, and many products. In a word, it is chaos.

 

With more language branches, it takes a lot of time for programmers to master, and the cost is high; more enterprise development options, so there are more internal communication, simple problems become complex problems, and the cost is high; so software development is still difficult.

Guess you like

Origin blog.csdn.net/modern358/article/details/114363777