preface

I graduated 8 years +, ordinary two books, educational background is not outstanding, non-computer major.

However, I was lucky. I entered Jingdong dachang as soon as I graduated. As a second graduate of non-computer major, I was lucky to get an offer from Jingdong after graduation through self-learning programming.

After all, luck does not equal strength. When you first entered the company, you were under great pressure and unsure of yourself. After all, you were surrounded by some excellent students from 985/211, or even graduated from Tsinghua or Peking University.

Crazy Self improvement

With a little self-abasement and an unyielding character, I started my crazy catch-up mode in the two years after graduation.

People said, “Complete Code” this book is good, buy.

Others say that programmers must understand algorithms, “introduction to algorithms” necessary, buy.

People say that programmers who don’t understand Design Patterns are not good programmers. Buy it.

Under the guidance of this idea, in just two years, I also bought “Software architecture Design”, “Programming Abecda”, “Introduction to database system”, “In-depth understanding of Java VIRTUAL Machine”, “in-depth understanding of computer system”, “Java programming ideas”, “Graphic data structure” and other classic books.

Most importantly, all the books mentioned above, in addition to “Introduction to algorithms” is really limited ability, can not bite down, other books are at least three times, the first time black notes, the second time blue, the third time red, this is also their own set of hard indicators, classic books must be more than three times.

Occasionally open the previous notes, looking at their own efforts, often moved to thank themselves for their efforts, the achievement of the present.

In baidu

If jingdong two years is the accumulation of quantity, then in Baidu more than three years, then produced a qualitative leap.

If my career is open, the first plug-in is just graduated lucky to enter jingdong this big platform, the second plug-in is baidu met brother.

Just entered Baidu, long brother is the department’s general rack, at that time I T4, he T9, and he is only 5 years older than me, that is to say, he just 30 years to T9 level, it is the existence of god.

Because of my work, I have the honor to communicate with long brother often, and I also appreciate his respect. In a chat, he told me such words, because of these words, changed my career.

“If you had five years to learn about databases, would you become an expert in the field?” he asked. I said, “I think so,” and he said, “You can be an expert in something when you’re 25 and you’re 30 in five years, and you’re 30, so why not do it? You look around at how many 30-year-olds there are who haven’t done anything yet, and you’re an expert at databases.”

What is a master?

This is the master.

In a few words let me quite a while at that time it was when I was confused, graduated two years, have lost just graduate with passion, feel a little bit small achievement, also into the most programmers dream BAT, coupled with the outside world the temptation of all kinds of new technology, big data to learn today, tomorrow want to learn artificial intelligence, the day after tomorrow and want to study the cloud computing, In short, all kinds of impetuous.

Listen to the words, I began to careful planning its own technology route, is no longer separate east look west, began to “years” as the unit of time to plan their own learning, but I will first study direction is the MySQL database (this also because the project need, long elder brother told me that let me research database, He also wants me to be the project Owner of this piece.

At this point, I began my second crazy mode.

From a “high performance MySQL”, a knowledge point a knowledge point to conquer, in addition to daily work, is a variety of mock data, performance tuning, reading source code, masturbating official documents and so on.

The original plan was to spend two years learning MySQL steadily. At the beginning, I was afraid that I was too radical. After all, I was aiming at the goal of being an expert.

After learning more than a year, I can’t say I am an expert in this field, but I have obviously grown up in the department. In addition, in the process of learning, I reconstructed the whole data base of Baidu e-commerce based on the project at that time, redividing data entities and dividing data tables horizontally and vertically, etc.

Although Baidu e-commerce is not well-known outside, after all, backed by Baidu’s traffic platform, there are millions of PV every day, and occasionally there are marketing activities, THE PV can reach tens of millions. After the reconfiguration of the system, without increasing the hardware, the load of the whole system is reduced by more than 40%. These are real costs for a large system.

In view of the above project results, I have been upgraded from T4 to T6 in this project for two years. In addition to bringing me tangible benefits, what is more important is that I have mastered the methods of technical learning and tasted the benefits.

Later, due to business adjustment, BROTHER Jiu and I went to MSG (Baidu mobile service business group) and did the same thing. On the basis of further drilling into database technology, we also studied non-relational databases such as Redis and Memcache. In just one year, we were promoted to a higher level, which completed the feat of upgrading three levels in three years in Baidu.

I have been working in Baidu for three and a half years, from T4 to T7. I am grateful to the people who have shown me the direction in Baidu. In addition to Jiu Ge, there are many big names, whose way of thinking, as well as their persistence and pursuit of technology, can benefit me for life.

Work more than eight years, the fastest growth is in the period of baidu, encounter to guide, to find the right way to learn, because at that time grew, so that I can’t adapt to the workings of a HW now, every day to work overtime to no time to think, let alone planning their own learning and growth, I still enjoy that kind of work while looking at her growing up.

So find the right way to make yourself strong.

Learning technology, must be one year, or even five years to plan their own learning, only in this way you can guard against arrogance, rapid growth, technology, but also afraid of their lack of confidence?

Correct learning direction, learning mind map recommendation

Learning architecture from scratch evolved from JavaSE (if you can’t see it clearly, follow me here to get the document collection method)

A: Common patterns and tools

Learn about Java technology architecture, design patterns, popular frameworks and components

— Common design patterns, coding necessary, Spring5, do the latest framework essential to application, MyBatis, play database essential components……

Two: engineering and tools

To do a good job, you must first sharpen its tools, whether it is white, or senior developers, playing with Java technology system, choosing good tools, improving development efficiency and team collaboration efficiency, is essential:

Maven, project management

Jenkins, continuous integration

Sonar, code quality management

Git, version management

Three: Distributed architecture

High concurrency, high availability, large amounts of data, and no distributed architecture knowledge is possible:

Principles of Distributed Architecture

Distributed Architecture Strategy

Distributed middleware

Distributed Architecture Practice

Four: microservice architecture

Business is becoming more and more complex, and services are layered. Micro-service architecture is the only way to upgrade architecture. What are the technologies related to Micro-service in Java technology system?

Microservices Framework

Spring Cloud

Docker and virtualization

Microservices Architecture

Five: performance optimization

Any PPT architect who is detached from the details is a bully. He can operate from the top and solve first-line performance problems from the bottom. Java technology system needs to understand:

Performance index system

The JVM tuning

Web tuning

The DB tuning

Six: basic knowledge

From architecture design, to application layer tuning, and then in-depth understanding of the underlying principles, solid Java basic skills can make me become a sweeping monk:

The memory model

Concurrent mode

Threading model

The lock detail

Seven: source code analysis + virtualization container + project control

Correct learning direction can make your career fewer detours, clear their own thinking to learn can get twice the result with half the effort!

Here I personally collect and provide some learning materials for everyone to get for free, including the basic to the framework of video, electronic books documents, big factory (Ali, Meituan) interview documents.

How to receive: attention + forward + forwardClick here to get the document collection method