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.