The GIAC Global Internet Architecture Conference will be held in Shenzhen from June 1 to 2. GIAC is a technical architecture conference for architects, technical leaders, and high-end technical practitioners. This year’s GIAC has been attended by experts from Tencent, Alibaba, Baidu, Toutiao, IFLYtek, Sina Weibo, Xiaomi, Meitu, Oracle, Lianjia, Vip.com, JD, Ele. me, Meitu Dianping, Luji Thinking, Ofo and other companies.
On the eve of the conference, Goarchitecture interviewed Li Qingfeng, the producer of GIAC Personal Growth sub-conference, about the personal growth and technology management of engineers.
Qingfeng Li is the r&d director of Sina Weibo R&D Center. He is responsible for the research and development of weibo video and communication-related services. I joined Weibo in 2010, and as a core technical staff, I experienced the whole process of microblog’s explosive growth, difficult breakthrough and take-off again. Technically, it focuses on high-availability and high-concurrency architecture, leading and promoting multiple high-availability architecture optimization and upgrading projects such as micro-sertization, service governance and SLA guarantee system of Weibo platform. At the same time, he is also the head of the technical boot camp of weibo RESEARCH and development Center.
High Availability Architecture: It was a pleasure to interview you. Can you briefly introduce yourself to high availability architecture readers?
Li Qingfeng: IT’s a pleasure to be interviewed. I joined Sina Weibo in 2010 and will soon be eight years old. I have experienced the whole growth and development process with Weibo.
In the past 8 years, I have gradually grown from an engineer to a technical manager. I am very grateful for the platform of Weibo.
Highly available architecture:Every achievement of the people, there is a helpless pain insist. Looking back, what was the most memorable moment in your growing up? When you were still unknown, where did you work hard?
Qingfeng LI: Looking back on my own growth, there are two key points.
The first one is to resign from the university after graduation and come to Beijing to enter the programmer industry. At that time, I did not have any working experience, and even the basic knowledge of programming technology was not very good. The difficulty of finding a job in Beijing without working experience can be imagined. At that time, MY mentality was that AS long as any company asked me not to give money, I was still rejected by many interviews. However, I learned something from every interview. I would go to Xidan Book Building or the Internet to find out the questions I didn’t understand, and I would try to do some small practices according to the online examples to better understand and master them. In fact, technical interview knowledge is nothing more than so much, slowly the interview feedback is better and better, finally a company willing to hire me.
It is still a painful process after work. There is a big difference between developing my own demo and really developing online business system. I will encounter many technical difficulties. At that time, I would even live in the company, because the company network is fast, and there is no time to crowded bus. If you have time to study some new technologies and frameworks, gradually you will find that colleagues often come to you for advice, and you become the core developer of the team from the rookie. This joy is beyond words.
The second one was during the period when Weibo turned to technical management. During the rapid rise of Zhengzheng Weibo, the team size was relatively small, but there were a lot of business demands. While conducting code development, they had to communicate with each other on the one hand and coordinate with colleagues and cross-team cooperation on the other, so they always felt that there was not enough time. The busiest time is communicating requirements and cross-team coordination during the day and writing code at night.
What I remember most is the process of writing fault reports. At that time, the influence of Weibo was already relatively large. When some problems occurred in the service, leaders attached great importance to writing fault reports and reporting them to each team. At that time, I was often responsible for writing fault reports on the platform, which were often rewritten by Tim (Xiao Xiao note: Tim Yang) and rejected by me. Sometimes even Tim would come and help me comb through and revise. At that time, I did not understand, and I felt like I was being embarrassed. Later, I realized that my leader had given me great help and guidance, and had a better understanding of the nature and solution of problems, as well as understanding of architecture and cross-team collaboration, which was of great help to my later growth in technology management.
To be specific, first of all, we should lay a solid foundation of basic technology, including language foundation, algorithm foundation, coding specifications, in fact, is to understand the accumulation of previous experience, such as design patterns, the principle of classical technical architecture and source code. Can do this step is actually a reliable programmer. This is when you need to look for bigger technical challenges to further develop your experience.
Then, you need to learn from the architectural ideas of excellent architectural components and practice them in your own business to form your own architectural ideas. This process is an important process for the advancement of technical experts and architects. It is also very important to communicate with the leading technology community and leaders in the industry. It is helpful to do some summary sharing in your spare time.
After that, it is necessary to jump out of the limitations of technology and more deeply understand the business based on the company’s strategy and the real needs of users, so as to predict the technology trends in advance and make corresponding technical reserves and preparations in advance.
Over time, your boss will notice that your team seems to be able to do everything and do it well, and the company will be more willing to give you and your team more challenging projects and more resources. Personal growth and promotion will go relatively smoothly in the end.
Highly available architecture:Have you ever had to sift through a flood of resumes at work? What kind of resume appeals to you beyond the technology stack? What are the common traits of people who make it through interviews?
Li Qingfeng: Recruitment is absolutely necessary. With the growth of Micro-blog, the technical atmosphere and growth environment of micro-blog are still very attractive to friends. Therefore, resumes are indeed quite large, and it is indeed a time-consuming job to screen resumes.
In the early days, I didn’t screen a lot of resumes. Whenever I sent them in, I would ask them to come in for an interview because I was afraid I would miss good candidates. Of course, it took me a lot of time, but not much.
Later, after continuous thinking, summary and practice, I will make a more strict selection of the resume, so that the proportion of passing greatly increased, but also save precious time for myself and the candidate. In the selection of social recruitment resume, I focus on two points: experience and specific project description. If I have participated in projects with technical challenges (such as high-concurrency scenarios or complex business scenarios), I will first screen them out and further focus on understanding them. The next step is to look at the description of a specific project to find out the role of the candidate in the project and the technical depth and experience of the candidate based on the technology stack used. It can also tell you if the candidate is thinking clearly.
If the above two points are true, you should be able to come to the interview, and I will assume that everything on the resume is true. Then in the specific interview with these backgrounds to further understanding and verification. I focus on four aspects of the candidates, in order of importance: ideas and attitude, technical foundation, intelligence, and experience.
By talking with the candidate about his position in the project and what he has done, it is easy to understand his attitude towards work and thinking of solving problems. If there is a problem in this aspect, he will certainly not do well in his work, and I will quickly dismiss him. We will have field coding questions and algorithm questions to understand the candidate’s fundamentals and programming habits, which determine his effectiveness.
As long as the train of thought and attitude is reliable, solid technical foundation, basically can be recruited to do routine work. And whether he is smart or not will determine his potential for future technical growth. Technical experience can reflect his technical depth. Core r&d personnel who have experienced large projects can always have a deeper understanding of technology and help the team to quickly improve the technical strength of a certain aspect. Of course, the latter two aspects can not be met, once we encounter such talent will focus on training.
Highly available architecture:The training of new staff on weibo platform has been done very well. As your principal, you must have a deeper experience. Could you briefly talk with us?
Li Qingfeng: I remember Tim first put forward the idea of micro blog’s technical boot camp, which aims to help new recruits quickly integrate into the team to improve the efficiency of r&d and promote the accumulation and inheritance of team technologies. It has also received support and response from many leaders and human resources departments of the company. I will be responsible for the realization of this goal.
According to our research and analysis, technical recruits (whether recruited by the school or the social society) will have some degree of maladjustment when they first join a new team, which will affect their work and growth, and thus affect the overall research and development efficiency. A team with a good technical atmosphere may guide new employees to develop good development habits and pass on efficient collaboration methods and technical experience through the guidance of mentors. However, this process can be very long and takes up a lot of the tutor’s energy and time, and its effectiveness depends on the tutor’s experience and level.
On the other hand, due to the lack of understanding of the existing architecture and technical system, it is often difficult to understand the scheme due to the unclear context in daily work, and even the inconsistent understanding of relevant terms leads to the wrong understanding of the scheme, which affects the overall research and development efficiency.
We hope to have such a platform, which can collect the experience of the best mentors, so that the new recruits can learn the existing good development habits and experience of the team, help the new recruits quickly adapt to the team environment, learn the accumulated experience of the team, so that the new recruits can grow up quickly, and improve the overall research and development efficiency and strength of the team.
Therefore, the course content we designed mainly includes two aspects:
First, the technical foundation part, through this stage, let the new staff fill in the technical foundation shortcomings, cultivate research and development habits that match with the team, and improve their research and development efficiency.
-
Through the introduction of the RESEARCH and development environment and tool system, let the new staff develop good research and development habits, and use the team’s existing efficient research and development tool system to improve the development efficiency.
-
Through the introduction of distributed cache and massive data storage, this course introduces new people to the challenges of Internet architecture, common problems in distributed cache and massive data storage, and effective solutions. Avoid routine mistakes and problems for newcomers.
-
Through the introduction of technical framework and common components, let new employees quickly understand the use of common technical components in the team, and prepare for job development.
-
There will also be the introduction of elegant code and troubleshooting tools and methods, with practical cases to unify everyone’s understanding of elegant code, avoid low-level errors in code, improve code quality. Introduce efficient troubleshooting methods and tools for difficult problems to improve development efficiency and avoid painful bug search and solution.
Second, business architecture part, focus on weibo typical business architecture design, for example, information architecture, video architecture, communication technology architecture, machine learning, architecture, etc., let the students understand the architecture problem scenarios and technical challenges, pass on the technical team at the same time, also in the subsequent business development for the couple in a better understanding of the business architecture, Quickly design better technical solutions to pave the way and prepare.
We gathered core architects who were best at various technical directions in the team to form the course content with relevant experience. What we gained was not only the classic boot camp course content, but also the reflection and improvement of the current situation of the existing technical system, forming the technical accumulation and precipitation of the team. In addition, our course content is not static, but each period is sorted out, updated, improved and optimized by the current lecturer.
In terms of harvest, many people only see the benefits of newcomers’ rapid integration and growth in this aspect. In fact, the benefits of lecturers are also very large. They gain more from their own understanding and improvement of this aspect through sorting out and reflecting on these contents. In this way, all the participants of the event will benefit, and the event will run smoothly.
Up to now, this activity has been held for 6 times, which is basically once every year. From the feedback from inside and outside the company, the overall effect is quite good.
Very ashamed, just did some tiny work!
Highly available architecture:During the period of rapid development of microblog business, you must be under great pressure. Could you share with us what impressed you most during this process? Or what do you think is the most important thing you learned from it?
Li Qingfeng: During my years on Weibo, I have been responsible for the research and development of core services and strategic projects. Once there is a problem with these services, users will be greatly affected, and the leaders and bosses will pay close attention to it. It is really a great pressure. In such a large company, cross-team service dependencies are inevitable and difficult to control as a whole.
On the one hand, we need to make services as stable and efficient as possible through service governance, more flexible, highly available architecture and other technical means. On the other hand, we should be able to grasp the key core of the service from the perspective of corporate strategy and user experience, and focus on the guarantee.
With limited resources, it is vital for both companies and individuals to devote more energy and resources to more critical and core services. Take the initiative to understand the company’s strategy and what users really want. Don’t wait for your boss to talk to you.
Highly available architecture:You have been continuously promoted over the years working at Weibo. What advice do you have for young people who want to grow and advance in a big company?
Li Qingfeng: the growth of technical personnel is still based on the promotion of technical strength. Young people have opportunities to work in big companies and pay more attention to their technical growth, at this stage, growth is more important than salary. Therefore, try to go to a good technical atmosphere of the core technical team, with reliable leadership.
A team with a good technical atmosphere will let you maintain the pursuit of technology and develop good research and development habits; The core technical team is responsible for the core service architecture and is able to collaborate and communicate with outstanding architects. This subtle influence is very important, and it is easier to get more training opportunities. Reliable leaders can always give you good advice and help at the critical moment, can let you continue to break through the bottleneck of faster growth, then promotion becomes natural.
Highly available architecture:Then I would like to ask another question that engineers are concerned about. Nowadays, there is a lot of pressure. What is the most important point if you want to continuously improve your professional and income?
Li Qingfeng: For Internet technologists, this is the best of times and the worst of times.
Good because the extensive application and development of the Internet, so that this industry has a high-speed growth, from the human demand to the income level will be higher than other industries. And today’s Internet technology is very open, technical community and open source community mature and active, to understand the threshold of learning Internet technology is not high.
The bad reason is that due to the rapid development of the Internet, a large number of excellent talents flood into the Internet, resulting in fierce competition. Moreover, due to the rapid update and iteration of Internet technology, the technical experience barrier of Internet veterans is not very firm.
Therefore, in order to maintain the increase of income, it is necessary to continuously improve their technical strength, namely professional ability; Being able to solve problems that others can’t solve, or being more efficient than others, always leads to higher pay. In order to improve their professional skills, they need to have a broad technical vision and fast learning ability, and be able to pay attention to and learn from those promising new technologies to make their work more efficient. Specifically, I pay more attention to the industry and communicate with the community, and actively combine my own business to learn and practice.
Highly available architecture:How do you draw the boundary between the architect and the technical manager at work? What are the similarities and differences between the two in terms of ability requirements?
Li Qingfeng: There are two directions for technologists to grow to a certain stage. One is technologist and the other is technical management. Architects belong to the former, who require a deeper understanding and experience in a particular technical area, and can lead the team to solve difficult problems and make breakthroughs in this technical direction. Technical managers belong to the latter. Although they also need profound technical strength and experience, their value is that they can effectively organize team resources to form better execution.
Architects need to develop expertise and architecture experience in a particular area to help them lead teams to solve technical architecture problems more effectively. Enhance the technical strength of the team. This determines the value and future height of the architect.
The technical manager needs stronger comprehensive ability. Just as I said before, he needs to build a benign team growth ecology through his own influence. He can timely understand the current situation of the team, coordinate resources according to the company’s strategy, and guide the team to a positive cycle of technical strength, efficiency and development.
Highly available architecture:For different management styles, management leading techniques are good? Or is the opposite more appropriate? How do you balance management and technology?
Li Qingfeng: RECENTLY I have been doing some summary thinking on management. I think the essence of management is to make the team complete the work more efficiently, and the purpose of management is to maximize the value of technology.
For technology management, technology is the core foundation, and management is the way and means of organization.
Therefore, my understanding of technology management is that the first step is to improve the technical strength of the team, including creating a strong technical atmosphere for the team, absorbing outstanding talents, providing a good training platform, and guiding team members to grow rapidly. This requires technical managers to have deep technical skills and architectural experience. I also need to constantly learn about the industry’s advanced technical architecture and experience to expand my technical vision.
On this basis, we can improve the efficiency of r&d through some organizational means. Technical strength promotes R&D efficiency, and efficiency improvement provides more time and opportunities for the team to investigate new technologies, develop efficiency tools, and improve the technical atmosphere, thus forming a positive cycle from technical strength to efficiency to development. You can’t say which is more important, it’s the process of building an ecosystem of team growth. As a technical manager, we need to be able to understand the current situation of the team and then build this benign ecology so that the team can move towards this virtuous cycle.
Highly available architecture:Do you still do a lot of business code development? As for whether cTOS or managers need to write code, there has always been a controversy in the industry. What is your opinion?
Qing-feng Li: Frankly speaking, I am not involved in the code work directly related to the business, but I will do some code review of the core architecture components to keep an accurate understanding of the core architecture. I will also write some tool class code to practice some new technology to help me better understand the new technology.
Whether CTOS and managers need to write code, I think different team scenarios will be different.
If the team has dozens of hundreds of people, technology managers as long as the job is to get the whole team to have better research and development and technical efficiency increases, more important is the technology field of vision and coordination organization team, to create a better technology atmosphere and enhance the overall research and development team efficiency, this kind of situation can’t write code is not important, but spend too much time on code can appear not too normal.
If the leader of a start-up company or a small team has more than ten members, the technical organization and coordination work is not so much. Technical managers still need to write core architecture code to maintain adequate control over core services.
In addition, the need to write code and the ability to write code are two different things, and the technical manager should at least be able to write code (though not necessarily more efficiently than the rest of the team), or pay close attention to the code. Taking the time to review the code of the core architecture can help technical managers keep track of the status of the team and even identify potential technical management issues.
Highly available architecture:Do you think the 35-year-old embarrassment of IT workers, a topic that is often talked about online, is real? Is there any way to avoid it?
Li Qingfeng: Internet technology is updated and iterated very fast, so it takes a lot of energy for technicians to constantly learn new technologies. The so-called embarrassment of being 35 is more about the lack of time and energy compared to younger people due to the limitations of physical conditions and family affairs.
If the technical personnel to the age of 35 has not been able to use their previous technical experience system, to form their own outstanding technical value advantages, can not let their own unique and efficient fast learning ability, pure and young people fight physical strength, certainly can not fight, will form this embarrassment at the age of 35.
To avoid embarrassment in this respect, it is necessary for technical personnel to accumulate their previous experience to form their own unique value, and form a set of rapid learning and improvement methods. Although the Internet technology is updated and iterated quickly, there is a strong correlation between the new and old technologies in a specific field.
If you have a deep understanding of a specific technology field and know the key points and directions of its technology, you can have a good expectation of its development direction in advance, and it will be easier to accept the new technology in the industry. Slowly become an expert in this field. Although it takes a lot of energy and time to achieve such achievements at the beginning, it will be relatively easy for the subsequent development.
Of course, it is also important to keep an interest in the cutting edge of the industry and constantly expand your knowledge boundaries. But at least previous experience will play a big role, not with young people pure physical struggle.
This experience and ability will stand you in good stead whether you are going down the technologist or technical management path.
Highly available architecture:As a producer of personal growth, do you have any expectations or prospects for GIAC?
Li Qingfeng: GIAC is a very good technical community, especially in the Internet high availability architecture and engineer culture gathered a lot of cutting-edge experience and ideas in the industry, is very valuable for the growth of technical personnel. I hope GIAC can continue to maintain its own characteristics and advantages, better for the technical community and technical people to provide better content sharing.
The following are some of the highlights from the personal growth/Technology Management section of this GIAC conference:
Participated in GIAC and took stock of the latest technologies in 2018. Click “Read the article” to learn more about the conference.