Question
I recently started to learn how to become a qualified architect. although I have already attended a series of training courses, I still feel that it is not enough. I found an outline and started to learn it one by one. however, I do not have a solid foundation for software development, so I have to make up for it with diligence. First of all, I would like to refer to others' opinions and write my own understanding of how to become an architect based on my actual experience, I hope you will be enthusiastic and helpful.
Today, let's start with the basic quality of the architect. There are a lot of voices on the Internet concerning the basic quality of the architect. I have summarized it and asked you to help us to see the details so as to point out the errors.
1. Communication and self-expression
I think communication skills are the basic, most important, and most common qualities.It seems that technicians are easy to ignore and cannot ignore them if they want to become architects.Because the first thing architects need to do isCommunicate with team members, project managers, and customers for approval. I know that it may be difficult for people who want to switch to the architecture in the future to do technology now. Maybe You will notice that, although you are dedicated, the old scalpers have done a lot of things, but every promotion is always the most active people at ordinary times. Aside from other factors, the reason why a leader chooses this kind of person is that the leader thinks that he can deal with people-that is, communication, and I can only do things but be a good employee. Although I think I am also good at communication, I have not shown how others know it.Communication is bidirectional. On the one hand, you must be able to understand the meaning of the other party, and on the other hand, let the other party understand what you mean.. Therefore, to become an architect, you must first be brave enough to express yourself and then listen carefully to each other's words. Do not have the idea that "the wine is not afraid of the alley", or the result is "The talent is not met, the figure is sad.
2. Have some courage and appeal
Architects have to deal with many people, including leaders, customers, and technical geeks. Architects have no responsibilities but needPromote the technical progress of the entire team, make critical decisions under pressure, and implement them to the end. This requires the architect to have a certain level of courage and appeal, so as to eliminate the impact of some personal emotions in the work process, so as to ensure smooth work. In fact, even if you are not an architect, I believe you will understand it in your daily life.In the face of an infectious person, he cries at your grief, and hurts you; in the face of the words of a brave person, you will not listen to his words; otherwise, you will face a step by step, how dare you believe his words and work with him again!
3. Broad knowledge areas
The responsibilities of architects are somewhat special, and they need to be innovative. Although there are many ready-made architectures, they are different in specific industries and cannot be applied. At this time, you need professional architecture knowledge, rich business domain knowledge, and broaden your horizons. In this way, we can jump out of the architecture and business, view the facts from the perspective, and then perfectly combine the theoretical architecture with the actual business.I think,To do this, architects should not only study architecture and business knowledge, but also put their eyes further. "Everything is learned in the world", perhaps inspired by something unrelated to software.
4. excellent technical skills and rich programming experience
The broad knowledge field is the requirement of breadth, because no breadth is the foundation. However, with the breadth, there must be depth. People have limited energy, but at least need to be proficient in 1 ~ Two technologies. If you have depth, You can grasp the details and ensure that your design is not impractical. Rich programming experience, mainly to maintainCodeI feel that I can communicate effectively with developers and understand the team situation. Of course, this does not require you to become a technical expert, as long as you can maintain the feeling of code. Because there may be a lot of excellent technical options, it is not necessary to adapt to the lack of team.
5. Multidimensional Thinking and analysis capabilities
Once the customer requirements and technical team feedback are collected, the architect is required to analyze the data and develop feasible solutions. Developing a feasible architecture requires you to consider not only from the customer's perspective, but also from the development and machine aspects. This requires you to have certain abstract thinking and multi-dimensional analysis capabilities.Only with such capabilities can architects see the entire system and take control of the overall situation. How can we develop these capabilities? The first thing is experience, your own, or others. This is the most important thing. Innovation is exciting, but the lessons learned by our predecessors are more secure. In addition, I believe that everyone has heard the sentence "Listen to your speech and read ten years of books", so we can see how important experience is; second, we need to learn.
The above is my understanding of the basic quality of the architect. I personally think that some of the points have been reached, but there are still more missing ones. So if you have better ideas, I hope you can give me some advice!