In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/03 Report--
The professional development of software development engineers can be divided into two categories: one is to be an "official" and engage in management work, and the other is to continue to engage in technical work. For the latter, software architect (software architect) is an ideal position pursued by many software development engineers. Here I would like to talk about some of the capabilities and qualities that software architects need so that readers can better plan their careers. 1) good logical thinking ability is required. For software development engineers, because most of them are engaged in programming, it is easy to think that there is nothing wrong with their logical thinking, which is enough to meet the needs of a software architect. Actually, it is not! According to my observation, many engineers who have been working for nearly ten years still have the problem of thinking clearly. The main performance is that when you discuss a problem with him, you ask him A, and he answers you B, and it is easy to stray from the subject and miss the point. Software architects need to understand words and communication "literally" in their work, and clear thinking is the key. 2) strong conceptual (including) ability is required. In many cases, the software architect is the bridge between the management and the engineer. In addition to mastering the technical details, the software architect should also make some abstract generalization of the technical details to make the management understand the problem, so that the management can participate in the decision properly. In addition, software architects also face a variety of technical problems in their daily work, and good conceptual ability helps to grasp the nature of the problem, so as to solve the problem efficiently and effectively. 3) need to be proficient in using UML (Unified Modeling Language, Unified Modeling language). Because software architects need to do a lot of literal descriptive technical work, they inevitably need the help of diagrams, and UML is a more general and acceptable graphical modeling language. Software architects' mastery of UML should not only be limited to understanding the meaning of various schemata, but also skillfully consult UML specifications, in order to accurately understand the meaning of various terms and patterns, so as to achieve the accurate expression of the model. Remember, "A good picture is worth a thousand words". If you want to make a good picture, you have to pursue the accuracy of expression, which is inseparable from the accurate mastery of UML. 4) strong business ability is required. For a system architect (system architect), business capabilities may include familiarity with industry specifications, a clear understanding of organizational structure and customer relationships, and a deep understanding of the R & D process. The business capabilities of the development architect (development architect) may include an understanding of industry norms, familiarity with the development environment (programming languages, development platforms and frameworks, development processes, etc.) and strong software error detection capabilities. 5) strong organizational skills (including communication) are required. Software architects need to do a lot of coordination work in their daily work, including organizing technical meetings and leading teams to tackle key problems, all of which require certain organizational skills. Take organizational meetings, for example, some engineers do not like to prepare in advance and communicate with relevant people before the meeting, but like to discuss current events in detail, which is bound to make the meeting inefficient. Faced with such a meeting, the software architect needs to make a good judgment on whether to terminate the meeting and reschedule it or continue. If you continue, you have to control the topic and rhythm of the meeting well, and let the participants reach a consensus more effectively according to their own conceptual ability. 6) dare to take responsibility. In many cases, a software architect is a technical decision maker, and he must dare to "make decisions", which requires him to assume corresponding responsibilities. Of course, the assumption of responsibility should not be based on one's own professionalism and ability, rather than "how bold the people are and how productive the land is". If the software architect does not have the courage to take responsibility, it is easy to cause the situation that the development work can not be carried out. 7) the courage to face the challenge. In fact, this is important for every professional, but especially for software architects. Compared with software development engineers, software architects face more complex problems, including both technical and human factors. Solving these problems is sometimes a great challenge and painful. A challenge means that there must be something rewarding in it, and every time we overcome it, our ability is improved. When facing challenges, I like to say to myself, "No pain, no growth". I also imagine how much I will gain after working in a challenging environment for a year or a few years. This idea will bring more room for imagination to our career development and make us more patient, confident and brave in the face of challenges. It is believed that readers are more concerned about how to acquire some of the abilities mentioned above. My answer is "it takes time and persistence." The acquisition of some abilities is not simply to master technical knowledge, but requires a certain amount of life experience, such as conceptual ability. For development software architects, if you want to design a good software architecture, in addition to contact and learn the existing excellent design, but also need a certain amount of industry accumulation and good conceptual capabilities. As for conceptual ability, I think it depends on life, which takes time. This understanding also explains why it is rumored in the industry that it is more likely to become a software architect after the age of 30. As for persistence, it is also important. A person's ability is limited, it is difficult to do this and understand that. To some extent, the breadth of knowledge is beneficial to our career development, but it is based on the premise that we are good at something. To be proficient in a certain aspect, it must be inseparable from constant persistence in the same field. Persistence means that we will encounter more problems and think more in that field, which is the only way to become an expert in that field. Some readers may ask, why is documentation not mentioned in these capabilities? The reason is not that it is not important, on the contrary, it is one of the most basic capabilities that a software architect needs to have. In fact, documentation skills test the previously mentioned logical thinking, concepts, and the ability to use UML. A person who has no difficulty in speaking will certainly be able to write good technical documents as long as he has these three abilities. In daily work, if someone does not like writing documents, or thinks that writing documents is not important, it is because these three abilities have not yet passed. For this reason, I advise engineers not to take it for granted that "as long as you can write code, documentation ability is not important." If you think so, then the job of software architect will be far away from us.
It is recommended to read "the growth path of Software system Architects (1)" and "responsibilities of Software Development Architects"
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.