Capabilities of System Architects
Generally, system architects should have the following capabilities:
1: more than 8 years working experience in the software industry;
2: at least 4 years experience in C/S or B/S architecture software product development and architecture and design;
3: more than 3 yearsCodeWriting experience;
4: rich experience in the overall planning, solution design, and technical team management of large and medium-sized development projects;
5: have a deep understanding of the relevant technical standards and have a good grasp of the software engineering standards and norms;
6: have a deep understanding and skillful application of. Net/Java technology and the entire solution, master the WebService/J2EE architecture and design mode, and design the product framework on this basis;
7: Has Object-Oriented Analysis, Design, development capabilities (OOA, Ood, oop), proficient in UML and Rose, skilled in using Rational Rose, powerdesigner and other tools for design and development;
8: proficient in the development of large databases such as Oracle and SQL server;
9: have a comprehensive understanding of computer systems, networks and security, application system architecture, be familiar with the project management theory, and have a practical basis;
10: there is a deep foundation in the application system development platform and project management, and there are successful cases of development and implementation of large and medium-sized application systems;
11. good team spirit and collaboration spirit, strong internal and external communication skills.
Internal responsibilities of architects 1. Provide technical support to technical departments
2. Overcome the toughest technical barriers at the most necessary time
3. behind-the-scenes Project Manager
4. Adhesive Between the business department and the technical department
5. Catalyst for Business Development
Constructor self-cultivation process
Architects can't do it through theoretical learning, but they certainly cannot do it without learning relevant knowledge. The following is a summary of the self-cultivation process of the constructor, which is for reference only.
1. Framework engineer embryo (programmer)
The knowledge learned is the language foundation, design foundation, and communication basis, which should be completed in the university, 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. Architecture teacher sprout (AdvancedProgramMember)
You can learn about distributed systems and build them in college or in the first year of work, including the principles of Distributed Systems, EJB, CORBA, COM/COM +, and WebService (graduate students can study network computers, high-performance concurrent processing, etc)
3. Architect seedlings (designer)
On the basis of the above, we should thoroughly understand the application design mode based on 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 a software architect is that opportunities, personal efforts, and talented software architects are actually a job. However, 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 rational 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 ......