The architect's road, the three books I have read, high scores!

I have written several articles about architects and architecture design before. To be honest, it is very difficult to explain all aspects of the architect through a few articles.

This may require a series of articles, and this article is arranged for you today.

Many programmers have confusion similar to the following:

Why can't many programmers become architects? What is the difference between a senior programmer and an architect?

In my opinion, the main difference between an architect and a senior programmer is the dimension of thought between the two.

Let me give an example, if there is a demand now: the company wants to make a system for live broadcast sales.

The product requirements are given. Before I become an architect, what will I think as a programmer?

My idea is probably the most straightforward:

  • How to realize the gift tipping in demand
  • do you have to have a room
  • How the logic of the room is implemented
  • How to land the scrolling screen
  • ……

That is to say, as a programmer, my first reaction is: how business is transformed into technology, and how various business functions are implemented with technology.

So what do I think after I've been an architect?

If I am in charge of this, in addition to the problem of converting these businesses into technology, I also need to think about the following issues:

  • Architecture with Monolith or Microservice
  • What are the methods of communication
  • Which middleware to choose is better
  • How to plan general storage and multimedia storage
  • Which architectural style should be chosen
  • How to guarantee reliability, elasticity and availability
  • Development cost, deployment cost, maintenance cost
  • Tradeoff between cost and system performance
  • ……

The above are just a few macro issues that architects typically think about.

In fact, in a system, architects do more than just think about these macro issues. More in-depth details, to solve various levels of technical problems.

Back to the live broadcast problem, architects must also solve a series of technical problems, such as:

  • Live streaming problem
  • Optimization of Communication Protocols
  • Various middleware optimization problems
  • Storage Consistency Issues

In general, a programmer's thinking is often bottom-up, that is, he first thinks about the function implementation, and then understands the operating mechanism of the entire system according to the function implementation.

As an architect, his thinking is often a combination of top-down and bottom-up.

Instinctively, he will first think about the architecture of the system, according to the architecture of the system, then according to the prototype of the architecture, to determine the communication method between business modules according to each business, and then to understand the coupling of each business module according to the communication method, To think about some code implementation problems, and finally to completely straighten out the technical implementation of the entire system.

Therefore, if a programmer wants to grow into a qualified architect, he must go through a change of thinking.

And this kind of transformation requires reading more good books, so that the knowledge in these books can be used to cleanse one's thinking, so as to make this transformation easier and more accurate.

Here I would like to recommend 3 books, these 3 books can give programmers a preliminary understanding of the work of architects, so that they can get a glimpse of architectural thinking.

1. "The Way of Architect Cultivation"

To transform into architect thinking, you must first know how architects think about problems. When business personnel give specific requirements, how architects do corresponding design and analysis according to the requirements.

Therefore, I recommend reading the book "The Way of Architect Cultivation" first.

I have actually read the English version of this book, and I think what I think and think in it is indeed something that I have considered when I am doing architecture, and even some of the ideas mentioned in it, I have not considered myself.

This book, I think can be the first book for programmers turned architects:

It will at least remind programmers what kind of thinking is to think about the system architecture from top to bottom.

Understand how the architect thinks and designs the system architecture from the top down. After having a preliminary impression of the architect's thinking, you need to find a master who can guide you in an all-round way and walk through the work of the architect. process, to start trying to get started with architect work, and through practice, let these thoughts form a habit little by little.

2. "Learn Architecture from Scratch"

And this master I think is the book "Learning Architecture from Scratch".

This book is very fast and enjoyable to read. It is the book I have seen that is closest to the daily practice of Chinese architects.

The book introduces architects from design to frequently used patterns, as well as the corresponding theories.

In particular, some important pits in architecture design and important trade-off ideas of architects have been clearly introduced, which are very suitable for helping the introduction of practice and can help programmers to improve their skills.

The author of the book, Li Yunhua, also gave a class corresponding to this book in Geek Time. A few days ago, a reader asked about this course in the group. I didn't respond at the time. I just thought the name was familiar, and I only remembered it when I wrote this article.

However, I haven't booked his class myself, and I listened to my colleague's speech, which was good, and formed an effective complement to the book he wrote.

3.《Thinking Architecturally》

The two Chinese books I mentioned earlier are missing a very important part, which is

The architect is the research and learning of how new technology is.

The introduction of new technologies by the architect is also an important part of the architect's work.

One of the best books I've read on this subject is Thinking Architecturally.

It's just a pity that this book is in English. However, I always believe that as a programmer in the IT industry, English is still important. After all, there are only a few excellent technical books imported from China. Many excellent books have missed the opportunity of tasting due to language problems, which is a pity.

This book introduces how to evaluate new tools and new technologies, including some precautions after the introduction of new technologies. The introduction is very detailed.

It can be said that since I read this book, I have a solid theoretical foundation for seeing new technologies, learning new technologies, and introducing new technologies. Not only that, after reading this book, and even after I introduced new technology, my ability to predict risks has improved a lot.

And what is even more rare is that this book is very easy to understand and does not require too many technical thresholds. Introductory reading is also highly recommended.

The above three books, I think, for a programmer who plans to become an architect in the future, as a guide to get started, and to find the direction of future efforts.

You must know that an architect is not only a job, but also represents a variety of higher-level technical capabilities. Before improving capabilities, you must first have a set of overall architect thinking and know what architects do. It is an extremely important first step to be able to get the direction in which to move forward.

After taking this step, you will understand that what architectural patterns, architectural designs, and various principles are tools based on the thinking of architects.

I hope that everyone can study the three books carefully, and make the road to architect more solid.

Originality is not easy, I hope to get your support .

ps. Thank you for watching to the end, there are surprises!

I specially found the electronic version of the first two books. If you want to get it, you can scan the code in the picture below. After paying attention, reply in the background of the official account: Architect

{{o.name}}
{{m.name}}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324133289&siteId=291194637