It took me 7 years to grow into Ali Java architect, what about you? (with Learning route map)

Source: Internet
Author: User


Preface: I spent seven years, step by step to the present, halfway also have learned about other technologies, but also want to transfer other languages, but finally insisted on the Java this road, I hope that my experience can help to later people, if you have the help, you can point like attention.

Guide:

1. The architect should not write code

2, why the system is always so bad

3. What is the most difficult threshold for becoming an architect?

4, how to learn more efficiently?

1. The architect should not write code

Qualified programmers can do a good job of clearly assigned tasks, but in most cases the word "architecture" means that the architect does not involve too much detail, there is always some distance between the frame composition and the code implementation, and you cannot guarantee that everyone will understand your design correctly. Or if a programmer encounters an obstacle when writing code, it immediately comes up with a solution that is elegant enough.

In my opinion, the architect who writes the code is more likely to be doing logistical work: finding possible problems at the first time in the code, alerting others, or giving advice to others to improve, or giving other people the right posture when necessary.

Most of the time, I do not need to embrace the "core module" development of this kind of work as an architect, after all, I can be deployed too fragmented, the efficiency is difficult to guarantee, many people in the case of focus than I do a lot better, I just need to keep the bigger picture need to participate moderately.

In general, architects and programmers are somewhat like product managers and users in some ways, and most programmers don't take the initiative to tell you what they want, where they need to be optimized, or even what they don't know. One of the shortcuts to making a good product is to do the same thing with the user.

2. Why people's systems are always so bad

A lot of programmers have a strong ability to solve problems, and to solve a problem, we can write hundreds of lines of code to implement the function in the afternoon. But the things that are made have a feeling of less thought. Most programs can implement functionality, but if you take "time" as a dimension of consideration, you will realize that a qualifying project needs to consider more things: a more generic way to use it, a document that is easy to understand, a simple, easy-to-extend design, and so on.

Many companies should have legacy systems that are big, bulky, hard to use, almost impossible to maintain, that everyone complains about these systems, and that they are looking for ways to replace those legacy systems every day. But after a while, you will find that the new people around you have started to spit out the system that replaced the legacy system.

"Most of the systems were good at the time, the functionality was adequate, and the extensibility seemed to be possible, but these systems were all bad after the developers left." ”

3. What is the most difficult threshold for becoming an architect?

A lot of people call themselves architects to talk to you about an architecture, and all sorts of technical nouns speak like crosstalk from his mouth, three words high concurrency big data, but a little cross-examine, you will find a lot of basic concept of missing, For example, people claiming to be proficient in high concurrency say they don't know where the bottleneck of his so-called high-concurrency system is, and people claiming to be proficient in architecture say they don't understand how his system can be highly available, and that systems that claim to be super-large data actually have less than 1 million data, and so on.

The architect, though sounding tall, is still essentially an engineer, not a scientist, or a charlatan. Learn more, also need to practice landing. The design architecture scenario is more about making abstractions and tradeoffs: abstracting complex requirements into simple models, planning how to build a system from functions, performance, usability, research and development costs, and so on, which requires more practical practice.

4. How to learn more efficiently?

Most people have limited time to study each day, and how to improve learning efficiency at this stage is the key to solve.

It is very simple to say that you have improved your learning efficiency: systematic learning.

After repeating a few painful learning-carding process, then go to see some independent articles or materials tend to be more effective, because in the system to find the corresponding knowledge, and even sometimes a book a page only need to see a word, dissected that layer of window paper, you can master new knowledge.

Like many people, just graduated I think as a programmer, as long as the effort, coupled with a little talent can get some results.

After working for a period of time, to oneself and other people's understanding is more and more clear, gradually found that the gap between the programmer is perhaps more than the gap between the people and monkeys, accept the fact that I have been depressed for a long time.

After a while, found that they have been able to objectively evaluate their ability, but also realized that the distance is not so important, as long as the way to run faster, is enough.

5. Quickly become the architect's learning route

The following five knowledge system is the experience that I have summed up for many years, is the most mainstream technology at present. Friends who want to learn these techniques can add a group: 650385180. The group will share these technical knowledge points for everyone to learn to download for free. We hope to help you to build your own technical system and technical knowledge in a comprehensive and scientific way!

Distributed Learning Routes


Micro-Service Learning route


Performance Optimization Learning route


Classic design pattern and source code analysis


Developing the necessary tools


Hands-on projects


Summarize:

The above is I summed up the knowledge of the course of the year, halfway also have learned about other technologies, but finally insisted on the Java this road, want to learn to ascend, you can add the above group, I hope these knowledge points can help in the development of the industry friends and partners, in the Forum blog and other places less time to find information, Put the limited time, really put in learning and forward.


It took me 7 years to grow into Ali Java architect, what about you? (with Learning route map)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.