Every programmer has an architecture dream.
The above is actually a bullshit with a real philosophical fact, or there will not be so many people concerned about your official account. In recent years, with the slogan of “enterprise digitalization” transformation, a large number of enterprises are running on the road of transformation, hoping to take a step ahead of their rivals and transform the enterprise IT department from a simple cost center to a business driver. In this process, the enterprise architects play an important role. In the eyes of many developers, the work of an architect is sacred and challenging.
But there are two sides to everything. Many managers and technicians think that the remuneration of architects is not in line with the reality. Many architects really only use PPT and large posters to deal with things, and they will impose their own ideas on other colleagues depending on their position in the company. Some architects even pursue some irrelevant concepts, Inculcate some wrong ideas in the top and bottom, which leads to some irreversible bad decisions, making the company into a dangerous adversity.
Most of the time, the company gives architects too much responsibility. Managers hope that they can quickly solve problems when they have sudden performance problems, promote the rapid transformation of the enterprise, and even help the rapid establishment of enterprise culture. As an architect, do you want to resist these responsibilities?
I’m not a project manager
Architects often face the problem of parallel processing of multiple different dimensions in their daily work. These problems may be different topics. Even when making decisions, they need to consider the allocation of personnel, the schedule of projects, the core technologies and components to be used, etc. There are many senior leaders who like to get the detailed information and technical solutions of the project directly from the architect. Although the role of the architect involves and understands the information, it is not the responsibility of the architect, and even in many cases, the architect is in the embarrassing role of the project manager.
I’m not a developer
I think many people have read that article: should an architect write code? Many architects come from developers. No wonder there are such questions. However, architect and senior development are actually two different career paths, and I don’t think they are high or low. Excellent developers need deep development skills, and they need to deliver runnable software. Architects need broader knowledge, better organizational strategy and better communication skills. In a product development pipeline, the architect may be responsible for writing part of the core code, but the most important work is to ensure the normal operation of the pipeline.
I’m not a firefighter
Due to the role of architect in the company, many managers think that the architect should be able to analyze and solve any sudden problems anytime and anywhere. To be honest with you, this phenomenon still exists in many large factories, including our company (although it is only a small fourth tier factory). If an architect is busy with the work of “fighting a fire” every day, he has no time to do the real architecture work. The real architecture design needs thinking and can not be completed in a short time. But the architect must accept the product problems, because these problems may have a direct relationship with the architecture, which can largely reflect the defects or problems of the architecture.
Write at the end
As a very important part of the enterprise, architects exist as decision makers in many major technical problems. It is difficult to measure the quality of an architect by the amount or quality of code. If a system can still run well after five years of normal operation and can withstand certain changes, it shows that the work of the system architect is excellent. If you have to define a KPI standard for an architect, the following work may be a reference
- Define it strategy. Small to determine the feasibility of a system component list, big to the company’s technology development direction, and even the company’s technology forecast and bold attempt in the next 10 years. These technical strategies need to be formulated by architects according to their own experience.
- Implement the management and control of it blueprint to achieve coordination, reduce complexity and ensure the normal work of all systems in the company. One of the work of architects is to reduce complexity and simplify, which requires strong abstract ability of architects.
- Pay attention to the actual implementation of the project, and adjust the strategy according to the feedback problems in the implementation of the project. A qualified architect never ignores the feedback from the actual project.
Architects must avoid and eliminate the irreversible wrong decisions in system design
Source reference: 37 things an architect should know
More wonderful articles