What is an architect?

Question 1: What are the responsibilities of an architect? The software architect is the technical director.

First of all, the software architect is the technical director, that is to say, in addition to his technical ability, he must have good leadership skills. The leadership ability of architects plays a very important role in the quality control of teams and projects.

In the team, the architect is the technical director of the project, and he needs rich knowledge background to make technical decisions. Compared with architects, the project manager is to manage the resources, time schedule and cost of the project. Using the analogy of film production, the project manager is the producer (he wants to ensure that the work is completed) and the architect is the director (he wants to ensure that the work is completed correctly). Architects and project managers are public figures because of their position in the project. In a team, they are the contact center for all the people involved in the whole project. Architects should strive for the investment in building software architecture and make clear the value that building software architecture can bring to the organization.

Architects should also organize teams around the framework and actively participate in planning activities, because the framework should be transformed into the order of completing tasks, so as to determine what positions need what technology in time. It should be noted that the success of the architect has a great relationship with the overall level of the team, so the architect should attend the interview for the recruitment of new members of the team.

According to the architect's ability, he can also participate in the work of other teams. Architects need to make leadership decisions according to specific examples and show enough confidence in the decision-making process. A successful architect is people-oriented and arranges working hours for his team like a coach. This is good for team members, who can get help in time. This is a great asset for the whole team.

Architects should also pay attention to the delivery of actual work. He is the driving force of technology. Architects need to make decisions (usually under pressure) and ensure that these decisions are communicated among members and can be implemented.

The architect may have a team to do this.

This is the difference between people and roles. One person can play many roles (for example, Mary is a developer and a tester), and at the same time, a role can be played by many people (for example, Mary and John are testers). The role of architect needs many skills, which is why the role of architect is often played by many people at the same time. In this way, technical knowledge can be spread in the group, and everyone can bring their own experience to work. Especially when a technology is understood by both commercial departments and technical teams, it will be spread to the greatest extent. The results achieved by the team need to be balanced. Throughout this article, the term architect refers to a person or a member of an entire team.

[A team] is the * * * of some people with various skills. They have the same goal to accomplish and are responsible for each other. 2

If a team plays the role of an architect, then there needs to be a person as the leader of these architects. This person should have a global vision and need to adjust problems among the architects. Without this adjustment, the members of the architect team will be in danger, they may not build a tight framework, or the decision will not be successfully completed.

Now a new concept has been put forward in the architect group: in order to achieve the same goals and objectives among the members, the team has established and published the charter of the architect group. three

A good architect knows his strengths and weaknesses. Whether the role of architect is played by one person or a group, there are trusted consultants behind it. They can make up for some technical deficiencies by cooperating with other architects. The best buildings are usually built by a group of architects, not by one person. The reason is simple: the strength of a group is always much richer than the knowledge of a person.

There is a flaw in the concept of architect team. They are sometimes considered by other members of the team to be working in an ivory tower, because their products are usually very intelligent but useless. This misunderstanding can be minimized from the beginning: 1) ensure that all stakeholders can actively negotiate, 2) continuously communicate the framework and its value, and 3) have the significance of organizational strategy in the implementation process ... >>

Question 2: What is a website architect 1? He is responsible for the overall technical design and development of dating websites.

2. Assist the project manager to ensure product quality and development;

3, computer information management and related majors, bachelor degree or above, two years of relevant work experience;

4. Dedicated and serious, interested in the development of the Internet industry and starting a career;

5. Be able to plan Internet website projects professionally, and have strong expressive and copywriting skills.

Question 3: Who can tell me what an architect really is? Architects are generally divided into technical architects and business architects, and technical architects are divided into software architects and system architects (network architects)

Software architects generally only use what language to develop, what development framework to use, what database to use, etc.

Whether the system architect uses mainframe to run or uses multiple minicomputers or workstations to deploy programs, how much bandwidth to tap, and whether to use telecommunication network or netcom network.

Business architects can be understood as product architecture, such as what functions need to be developed, how the flow of functions should be described, and how the functions should be related.

Of course, except for very large companies, ordinary companies are rarely so clearly divided. Generally, only one architect can do everything. And such architects tend to be in the direction of software architects.

Question 4: What do software architects mainly do? Now that you have worked, I think you should know something about it. Architects exist in ordinary companies.

The architect's main job is to be a system analyst, formulate the architecture, and use the framework in the development process, similar to the chief designer in the project.

Technical personnel who confirm and evaluate system requirements, give development specifications, build the core framework of system implementation, clarify technical details and solve major difficulties.

If you are required to transform from a programmer to an architect, you can read some books of architects. In fact, what you do most comes from your usual accumulation. Have a thorough understanding of technology. In addition, I am particularly familiar with the framework. Of course, you must have rich project experience.

Question 5: What is an e-commerce architect? E-commerce architects play an important role in the whole process of e-commerce development, and their responsibilities or concerns are constantly changing with the development process. In the requirements phase, the architect is mainly responsible for understanding and managing the non-functional system requirements, such as software maintainability, performance, reusability, reliability, effectiveness and testability. In addition, architects should constantly review the requirements put forward by customers and marketers and confirm the designs put forward by the development team. After the requirements became more and more clear, the focus of architects began to shift to organizing the development team members and defining the development process. In the software design stage, the architect is responsible for the design of the whole software architecture, key components, interfaces and development strategies; In the coding stage, architects become consultants to detailed designers and coders, and often hold some technical seminars and training courses. With the development of software testing, integration and delivery, integration and test support will become the focus of software architects. At the beginning of software maintenance, software architects begin to decide whether new functional modules should be added to the next version of the product.

prerequisite

The formation of architects is exercised in practice, which requires considerable technical level and years of practical experience, rather than taking a few training courses and reading a few books. Obviously, in the process of software development, the importance of an excellent software architect cannot be underestimated. So how to become an excellent software architect?

Leadership and teamwork skills, software architects must be recognized as technical leaders and be able to make timely and effective decisions on technology selection at critical moments.

-Strong communication skills, which seems to be the best of all roles at that time. Software architects need to deal with people from all walks of life, such as customers, marketers, developers, testers, project managers, network administrators, database engineers and so on. , and also plays the role of disseminator in many roles. In terms of technical ability, the most important knowledge that software architects need to master is the knowledge of component communication mechanism, such as remote procedure call, JAVARMI, CORBA, /D, various standard communication protocols, network services, object-oriented databases, relational databases and so on. In addition, architects should always pay attention to the development of new software design and development, and constantly explore more effective new methods. Development languages, design patterns and development platforms are constantly upgrading rapidly. Software architects need to absorb these new technologies and knowledge and apply them to software system development. Of course, the business knowledge of the industry is also very important for software architects, which is helpful for design.

-To develop an architecture that meets the needs of customers, excellent software architects often need to learn quickly and observe keenly, because they want to get an understanding of the industry business as soon as possible.

The above description is boring, but as an architect, it is fun in the whole software system development process, because this role is very challenging, sometimes it needs to be balanced and delicate, and sometimes it needs to be decisive and firm. In China, few software companies have independent architects. Usually, a software expert is a project manager, a software architect and a software developer, and sometimes a guest tester, which is unfavorable to the software development cycle and product quality. Sometimes, a person's views and positions are very one-sided. Heavy work and pressure will affect a person's mood, which will affect the decision, and the decision will affect the result, so it is worth our second thought.

Architects can't get it through theoretical study, but they can't do it without learning relevant knowledge. Summarize the self-cultivation process of architects as follows.

1, architect embryo (programmer)

Learning knowledge is the foundation of language, design and communication. These should be completed in universities, including java, C, C, uml, RUP, XML, socket communication (communication protocol)-essential raw materials for learning to build application systems.

2. The budding architect (senior programmer)

Learning distributed systems, construction, etc., can be contacted in the first year of college or work, including distributed system principles, ejb, corba,/,webservice (graduate students can learn network computers, high-performance concurrent processing, etc.).

3, architect Miao Zi (designer)

On the basis of the above, combined with the actual project experience, we should deeply understand the application design patterns, including design patterns (C version, java version), EJB ... >; & gt

Question: What do java architects mainly do? Build the framework, formulate the interface and naming rules, design the architecture of the application, and so on. .

Question 7: What is the main job of an architect and what knowledge does he need? An architect must first have rich development experience and be a technical director. Because he must know what can be achieved, what are the ways to achieve it, how difficult it is, and the adaptability of the realized system to changes in demand. In addition, it is necessary to have a deep understanding of design concepts such as process-oriented, object-oriented and service-oriented, and be able to quickly detect problems in implementation and propose corresponding improvement (reconstruction) schemes (also known as anti-patterns). These all need long-term development practice to really understand, and it is difficult to understand by books alone. Even if you understand it at that time, you may not be able to integrate it into practice.

In terms of technical ability, the most important knowledge that software architects need to master is the knowledge of component communication mechanism, including intra-process communication (object access, function call, data exchange, thread synchronization, etc. ) and out-of-process communication (including cross-machine communication) (such as RMI, D, Web Service). Nowadays, with the popularization of WEB applications, developers tend to pay more attention to the communication between servers and less attention to the communication within the process. Out-of-process cross-machine communication is the cornerstone of building distributed applications and a bird's eye view in architecture design; Communication in the process is the skeleton of module realization and the cornerstone. If it is specific to enterprise-level architecture design based on. Net, the first thing you need is language understanding, including CLR, inheritance features, delegation and event handling. Net. Then there is the understanding of common solutions, including ASP.NET Web services. NET Remoting, enterprise service components and so on. In a word, rich practical experience in development helps to avoid the architect's armchair strategy and brings practical feasibility to code writers.

Secondly, it is also important to have sufficient business knowledge and business acumen. A good grasp of industry business knowledge can make architects more capable of embracing changes and leave some room for expansion in system design to adapt to possible demand changes. Experienced designers may have encountered such a thing, and the wishful reservation interface has a very low hit rate in demand change. That is to say, the system interface left for expansibility at the beginning of system design failed to play a real role in the torrent of demand change, because the demand change did not go in the expected direction, and finally the system had to be redesigned for the changing business. This is because the understanding of business knowledge and the judgment of market or business have not reached the practical level that can expand the architecture.

Thirdly, the architect's concern for people must be promoted to the scope that should be considered at the beginning of architectural design, including the communication and judgment of personnel quality. Software process is a process of teamwork and system construction, and communication ability is the glue that binds many development lines together in the whole process. Everyone should have said something like "I saw it, I don't know" or a developer suddenly shouted "Why the data here is missing". The purpose of communication is to avoid the confusion of multiple development lines as much as possible and make the system construction process orderly and efficient. In addition, people's concern is also reflected in the quality judgment of team members, such as which developers are more familiar with which technologies, or which developers are prone to delay progress. Only by making rational use of human resources and letting the right people do the right things can the whole software process be more efficient.

Architects should always pay attention to the development of new software design and development, constantly explore more effective new methods, development languages, design patterns and development platforms, and upgrade quickly. Software architects need to absorb these new technologies and knowledge and apply them to software system development. But the exploration of new technologies should be carried out within a reasonable range, and we should not blindly follow the trend. Solution providers always want you to use the latest technology it provides. They often focus on their products when promoting their solutions, which is easy to give people the illusion. For example, a database often makes people feel that it is omnipotent. As long as it exists, nothing else is important. But this is not the case. For small applications, a lot of business logic can be put into the database in the form of scripts, but it is rare to see large applications adopt this method. New things need to be judged from the perspective of comparison, including horizontal comparison and vertical comparison, and finally some indicators such as performance, portability and upgrade are obtained. In addition, new developers often care about new technology trends and ignore the history of technology. & gt

Question 8: What does an architect talk about and how to define an architect's building?

Let's look at the general definition of software architecture.

The software architecture of programs and computing systems refers to one or more structures of the system. The structure includes the structure of software, the externally visible properties of the structure and the relationship between them.

Architecture is not runnable software. Specifically, it is a method that enables software engineers to:

Analyze the effectiveness of the design in meeting the specified requirements.

Consider possible architectural options at a stage when design changes are relatively easy.

Reduce risks associated with software construction.

The life cycle of software architecture

Software development has its life cycle, which should be:

Software architecture also has its life cycle. What is it like?

Importance of software architecture

Why is software architecture important? How easy is it to program directly and develop directly? Please note the following points:

Software architecture can meet the quality of the system.

Architectural design enables the beneficiaries to achieve consistent goals.

Architecture design can support the planning process.

The Guidance of Architecture Design to System Development

Architecture design can effectively manage complexity.

Architecture design is the basis of reuse.

Architecture design can reduce maintenance costs.

Architecture design can support conflict analysis.

What is a good software architecture?

This question may be asked all the time, including some IT companies. The answer to this question may be more than a simple statement or definition. Let's take a look at the following image example:

What is this thing? Lego toys, Lego toys, everyone must have played, right?

It can be sold to you as a complete model, or it can be completely disassembled and freely reassembled from one model to another, because each Lego module has a standard interface in the horizontal and vertical directions, which is what we often call high cohesion and low coupling.

Question 9: What does a network architect do? The English name of a network architect is Internet architect.

The usual work is responsible for the selection of network technology architecture, leading the design of functional modules, data structures and external interfaces; Responsible for technical coordination with relevant technical cooperation teams; Study various forward-looking technologies in advance and form suggestions on whether and how to introduce them within the enterprise; Responsible for the operation data analysis, user feedback collection and function optimization of existing products; Responsible for tracking the trends of competitors and the research and analysis of new products; Responsible for coordinating the creativity, planning, revision and functional planning of website products; Responsible for the analysis, planning and refinement of product columns and requirements of the website; Responsible for the daily operation management of the project after it goes online, and provide column planning and implementation status reports at different stages; Responsible for optimizing the user experience of the project and improving the affinity and ease of use.

My major in college is computer science. Annual salary 10- 1.5 million. Suitable for people who have excellent organizational and presentation skills, good communication skills, can work under pressure, good communication, coordination and teamwork spirit, strong logical analysis ability, and the ability to quickly abstract business and analyze problems.

Question 10: What does a front-end architect do?

At that time, the architecture was the overall planning and architecture of the website's front page, as well as MVC design mode, performance optimization of JS/Css code, improving code reusability and reducing code redundancy. It breaks away from the category of ordinary front-end coders, pays more attention to the optimization and rationality of codes, and improves the corresponding speed of websites. It is said that authoritative sources say that after the front-end code is optimized, the opening speed of a website can be increased by 97%.

Know his importance! Wow, take a closer look at the original post in 2008. It seems that you are concerned about cutting-edge technology. If you get 2 points, you will leave.