As a technical person, I believe you have also thought about this problem. After several years of working, you are very skilled in code writing, and the programs you write are seldom buggy. Besides, you often share technology with others, but you still feel confused about the next career plan.

\

In fact, there are no more than three options: technical expertise, transformational management, and architect promotion.

\

I see a lot of friends around, have chosen the third kind, or are working towards this direction.

\

But at the same time, I’ve noticed that some people have been working as programmers for 7 or 8 years and are still in the “code farmer” stage. Usually the pace of work is too fast, it is difficult to have the opportunity to systematically learn the architecture, no one to teach, can only knock code, more and more passive.

\

In addition, according to my observation in the work, many people’s understanding of “architecture” is still stuck in the stage where the product manager provides the requirements and the architect provides the implementation according to the product design, which is the so-called architectural design scheme.

\

In my opinion, this is actually a misunderstanding. Architecture is about the project as a whole, and the people who implement it, and it varies with the capabilities of the team. Architecture is also about user needs. As architects, we not only need to know what the current user needs are, but also need to make reasonable predictions about how those needs might change in the future.

\

So the key to becoming a good software architect is in four words: control.

\

This is not easy to do, in addition to building a complete body of architectural knowledge, but also to continue to absorb the experience of predecessors.

\

Any good architect has a unique way of thinking. Learning from them how to “creatively” shape their own growth path is a “shortcut” for the average programmer to grow quickly.

\

Recently, I was surprised to see Hsu write a column on architecture on Geek Hour. As a CEO, he is busy with his work. Needless to say, an experienced programmer with his qualifications and background is still so willing to export, which is very difficult, respected and touched.

He’s one of the few people who can articulate architecture.

\

△ Scan code for trial reading or subscription

\

About Xu Shiwei \

\

Shiwei Xu, CEO of Qiuniuyun, initiator of ECUG community, leader of Go language circle in China, used to work for Kingsoft and Shanda, has more than 10 years of research and development experience in search and distributed storage related technologies.

\

He was nicknamed “Crazy C” in college. With a handwritten resume, he successfully applied for Kingsoft. Only two years after graduation, he became the chief architect and led the architecture design and development of WPS for three years.

\

In 2006, when pirated software was prevalent and WPS began to transition from software to the Internet, Xu shiwei founded Kingsoft Lab to lead the development of distributed storage as technical director. Later, he joined the grand Innovation Institute, successfully launched “grand network disk” and “grand cloud”.

\

In 2011, he became an entrepreneur, setting up Seven Niuyun, which focuses on enterprise-level storage services. He personally designed the architecture of seven Niuyun and wrote a large number of core codes.

\

On old xu, we can see a typical technical people the ideal way to achieve – endured domestic software research and development of the standard, and endured in the Office and piracy under the attack of struggling, has experienced the baptism of the company and personal transformation interweave, side by side with him to struggle of jinshan people into the game industry, but he stick to basic research.

\

Being an entrepreneur is just his identity, and in a way, I think he still sees himself as a tech guy.

\

△ Click and try

\

Why do I recommend this column?

\

Actually, I’ve seen Xu give some architecture talks before. However, it is the first time for me to output my architectural experience and thinking in such a complete and systematic way.

\

An architect’s 20 years of experience is invaluable. After reading the opening words and the preceding articles, I became more determined in my judgment.

\

I know that there are a lot of technical people who learn architecture by reading books. I have come across the following types:

\

→ Structure thinking class. It usually starts with well-known architectural theories, such as the open closed principle, the single responsibility principle, and so on. Its disadvantage lies in excessive theory, and computer science belongs to engineering technology in the final analysis, should practice first.

→ Design pattern classes. This sort of thing is usually down to the specifics of the architecture, and the ins and outs of each pattern are not easy to understand. Even if you understand a specific pattern, it’s hard to really learn and apply it.

Distributed system architecture design class. The challenges faced by large business systems are usually explained from topics such as consistency, high availability, and high concurrency challenges on the server side. This knowledge, while valuable, does not extend to general business architecture and does not really guide the architectural practices of most enterprises.

→ Rebuild the class. It’s mainly about how to improve the code, but it’s actually the most practical kind. However, in my opinion, the initial foundation of a module is the most important, which basically determines how long the building can last, while reconstruction focuses more on how to repair and prolong the life of the building under the premise of serving people after it is completed.

\

These architectural books and materials do not reveal the full picture of architectural design.

\

I don’t want to be scripted and emphasize 1234 points on what Xu can teach us about architecture. Suffice it to say that in this column, you’re sure to get more than you give, whether you’re already an architect or a programmer who wants to be one.

\

The organizational logic of this column is completely different from what we usually see in architecture books and courses. Xu wanted to help us build a macro view of software architecture, to think back to the information source.

\

In this process, he explained the architecture paradigm of common business scenarios and the application of these paradigms in daily engineering practice. His writing was simple without any commercial rhetoric, and combined with his practical experience, he felt very grounded.

* * * *

\

For example, he mentioned two diagrams in his column, and I immediately realized that the logical relationship between client and server application architectures could also correspond in this way.

\

In addition, a few days ago, I saw Lao Xu’s former colleague in Shanda wrote an article about him. I saw several messages in the comment section and also share them with you: \

\

\

What are the benefits of subscribing from me?

\

1. Limited time Discount ¥99 (original price ¥129)

2. After you subscribe to the column, leave a message about “your definition of architecture”. Users with the most likes can leave a message and get 99 yuan of geek time for any course.

\

       

I remember that Xu Shiwei once said: No matter whether you are an architect in the team or not, for any programmer, having an architectural thinking will be the key to make you stand out.

\

For the price of a meal, you can see Xu’s 20 years of experience and get a closer opportunity with top architects. In a few years, you will thank yourself for your investment today.

\

? Click “Read the original article” and learn architecture with me.