Path to architect

Source: Internet
Author: User
Architect (Architecture) is currently the most urgent talent for many software companies and the highest-paying technical talent in a software company. In other words, architects are the human capital of an enterprise. Compared with human resources, architects can gain new products, new markets, and new technical systems through architecture and innovation. So what are the roles of architects and architects, how to locate an architect, and how to become an architect? This is a topic that many companies and programmers wish to know or participate in the discussion.
Architects generally refer to designers, painters, and structural designers. These definitions are mainly used in architecture and are easy to understand. When I was a child, I used to play in the river. what I often do is build bridges. The steps are as follows: 1. Draw a picture on the beach; 2. Select a nice-looking stone with a proper size; 3. Build an arch bridge. Among them, the light pp child we picked out as the legendary "architect.
In software engineering, architects are used in three aspects: 1. Industrial application architecture. Industry architects are often industry experts to understand industrial application requirements, the architecture behavior mainly refers to the rational analysis and deployment of requirements into the application model, which is biased towards the application function layout. 2. The technical architecture of the application system, technical architects are often masters of the technical experts, master various technical architecture, Master application design patterns, and consider the efficiency, reusability, security, maintainability, flexibility, and cross-platform of the software system; 3. The specification architect abstracts a certain type of architecture into a set of architecture specifications after years of honing or painstaking epiphany. Of course, there are also standardized architects trained by specialized research standards. Their products are often divided into application specifications and technical specifications.
Similar to architecture, a software system without a good architecture cannot become a successful software system. Construction sites without drawings and bridges without design are unimaginable chaotic worlds. If it is a construction project, it is also in software engineering!
Because qualified and competent software architects in China are rare, it directly leads to a lag in the national software industry. In a future society dominated by the information industry, the low level of the information industry will directly affect the core competitiveness of the country. The reason is that no enterprise is not eager for immediate success or personal guidance.
There is an insurmountable reason for enterprises' quick success and short profits, that is, the overall level of social development. "Survival is the first place, and making money is the first place". Over the years, many customers complained that domestic software companies could not trust them, system projects were exhausted, and the company had a worse change, however, because it is impossible for foreign companies to do application system projects in China, they have to find domestic software companies. Because of the low monthly cost and the high development cost of the company, software companies can only take money and leave their applications (many companies cannot get the final payment in the future ). In such an environment, enterprises are almost unable to invest more resources to cultivate their own architects. In addition, enterprises are reluctant to invest in a dazzling job-hopping culture ......
So the only way to become an architect seems to be to train the more popular software schools and individuals themselves. I have been familiar with many software schools, and most of them are software architects (or programmers or talents) needed to create or build an enterprise ). The sources of teachers and enterprises, the sources of trainees and enterprises, and the delivery of talents to enterprises are the means for them to run their schools. Despite the slab's slogan slog...
Architects can't do it through theoretical learning, but they certainly cannot do it without learning relevant knowledge. According to the requirements of Software Enterprise Architects and the knowledge required by the current Architects, the process of self-cultivation of architects is summarized as follows:
1. Architects (programmers) learn the basics of language, design, and communication, which should be completed in universities, the content includes Java, C, C ++, UML, RUP, XML, and Socket Communication (Communication Protocol), which are the raw materials required to build an application system.

2. Architects (Senior programmers) can learn about distributed systems and build systems. They can work in universities or in their first years, including the principles of Distributed Systems, EJB, CORBA, COM/COM +, and WebService (graduate students can study network computers, high-performance concurrent processing, etc)

3. The architect seedling (designer) should have a thorough understanding of the application design mode based on the above and the actual project experience, including the design mode (C ++ version and Java version), EJB Design Mode, J2EE architecture, UDDI, software design mode, etc. During this period, it is best to understand the application of software engineering in actual projects, as well as group development and team management.

4. The formal formation of the software architect lies in opportunities, personal efforts, and talent. The software architect is actually a job, but after a programmer fully master the basic skills required by the software architect, how to get such an opportunity, how to use the skills you have mastered to apply a reasonable architecture, how to constantly abstract and summarize your own architecture model, and how to go deep into the industry to become competent for analysis and architecture this is not a pie that everyone can meet ......

However, I have no knowledge and limited energy. How can I quickly master these so-called architect knowledge? This is a secret. Everyone has their own secrets, so they cannot reveal them one by one. However, on the basis of extensive learning, you must determine your own Main Line Based on your personal interests and fields.

If architects work on model drawings, the model elements must be solid, just as we cannot expect abstract painters to design high-rise buildings without practical model elements, it is impossible to build a software system. So far, the vast majority of software architects rely on software programmers to achieve their architectural intent. The direct gap between the two is obvious. The emergence of design patterns is an effort to shorten the gap between the two, with the aim of giving architects and programmers more common languages and specifications. Although the design pattern improves the efficiency and quality of software development to a certain extent, it always faces a very obvious limitation, that is, the human factor. Although people have absolute advantages in creativity, they cannot match machines in terms of accuracy, durability, efficiency, and quality. Therefore, we hope that in the process of building a software system, people and machines can play their respective strengths. That is to say, people can assume the role of architects and machines can play the role of programmers. In fact, there is already a successful model, that is, the kcom Commercial Engineering (http://www.kcomsoft.com) enterprise application platform based on the design of the fully automated software factory model, using this model, the architect designs the software system in the model diagram design environment provided by the tool platform. The design result is automatically processed into the final enterprise application software system by the "software factory" carried by the tool platform itself. Such a development model can improve the efficiency and quality of enterprise application software system development, which is fundamentally different from the traditional design model, because the design patterns here are already included in the software factory compiler.

**********************************

This post has been around for nearly two years, but I feel that most of the content is still instructive from the perspective of learning...

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.