Why can't most programmers be architects

Regarding the definition of the two, if you don’t know the definition of the two, go to Baidu Encyclopedia. I will go straight to the topic and talk about my understanding. If you compare a task to an operation, the architect is the doctor in charge. He must first understand the problem. , Combined with theory and experience, choose a suitable plan, and arrange the step process. During this whole process, the programmer was the nurse who handed the knife and obeyed the doctor's arrangement. So why can't the nurse who handed the knife be the chief surgeon? It was because he could only see where the doctor put the knife, but he couldn't understand the process of thinking and weighing the knife in his mind.

Let's bring this analogy back to the original question. If a nurse just passes the knife quickly and accurately, it is impossible to become the chief surgeon. The architect and the programmer are the same. Most programmers do The reasons for not being an architect are as follows:

1. Position yourself: A code farmer who can only pass the knife will never take the lead.

From the term “code farmer”, we can see that these people within the scope of our discussion position themselves as migrant workers at the bottom of the industry and cheap labor. I don't think of myself as a developer. The principle of doing things is to do what the leader arranges and do, knowing that there is room for improvement in the program I wrote, and even if the test is passed, I will always stay in my comfort zone and repeat the same work.

And that small group of people who can grow into architects will position themselves as a designer, will review their own programs from the height of design, and become accustomed to independent thinking, building a solid thinking system to deal with multiple Variety of changes.

 

2. Business perception: Most code farmers will only look for solutions, and architects will choose solutions.

Client: I need a fast horse.

The solution for most coders: train a faster horse.

The architect's solution: understand the customer's willingness to be quicker, perhaps because they want a faster mode of transportation, then we can build a car.

This is that the two treat the same business and have different perception capabilities. The programmer may just stay in the business itself, starting from the question to find the answer. However, the architect can use the 20% revealed by a certain problem to analyze 80% of the potential hidden problems to a higher level. Starting from the cause of the problem, they can see the more essential needs of the customer. From this demand, it is easy to get more Many solutions.

 

3. Decision-making ability: considerable project experience accumulation and learning are required, most people are not qualified

The reason why I use surgery to compare this problem is that the two have the same thing, because surgery will have various unstable factors, and software development also has this feature. This requires the architect to be both familiar with the technology and able to sort out the business. When making decisions, he needs to control the whole and understand the local bottlenecks, and provide solutions based on specific business scenarios, confirm and evaluate system requirements, give development specifications, build core frameworks for system implementation, and clarify technical details and scan Clear the main difficulties. It sounds scary, but to exercise this decision-making ability, it requires considerable project experience and deliberate learning of a large amount of knowledge outside of work. The difficulty is no less than the eight-year war of resistance, and most code farmers cannot do it.

No one will run as soon as they come up. Most of the coders and the small number of coders who can become architects gradually widen the gap in their positioning, the way of thinking about a problem, and the poor experience of the project. Of course, my point of view is just a glimpse of the leopard, inevitably limited, for reference only.

 

Guess you like

Origin blog.csdn.net/BinSTD/article/details/109321779