一名程序员十年技术之路的思考与感悟

Looking back on my ten years at Tencent, as a bachelor's degree graduate, I was promoted to deputy director in management in six years, and to T4 expert in technology in seven and a half years. Although not the best progression, it is relatively fast compared to the average pace. I summarize the main points as learning and growth, win-win cooperation, summarizing and presenting, and thinking while moving forward. Allow me to share my thoughts on these areas, hoping to help technical professionals new to the internet industry or those confused about development to break through and improve themselves, to grow from a capable soldier to a backbone, and further into a strong general.

To become a capable soldier in a team, one must have solid professional knowledge, rich experience, be able to hit wherever directed, and complete tasks assigned by leaders with great reliability. To achieve this, learning and practice are the most direct path. Usually, when a graduate first joins a company, the knowledge they have learned cannot 100% meet the needs of the position. At this time, it is very important to quickly learn and fill knowledge gaps. For learning and practice in a company, note the following points.

1. Leverage mentors and colleagues as resources. This allows you to quickly solve problems you encounter and avoid many detours.

My mentor when I just graduated answered every question I had. Even now, when talking to colleagues about my mentor, I always say he is one of the most technically versatile and admirable people I have met in my career.

2. Systematically learn the basic knowledge required for your work, rather than just searching Baidu or Google to solve problems.

This helps to analyze problems by associating relevant knowledge when encountering them, and also helps to build a more reasonable technical architecture or improve the deficiencies of existing technical architecture, allowing knowledge to have a synergistic effect. In order to make operations colleagues who have not done R&D not feel that R&D is mysterious, and to enable them to analyze the deep causes of abnormal failures, I specifically developed several courses such as "Intuitive Understanding of Network Communication", "Intuitive Understanding of Inter-process Communication", and "Intuitive Understanding of HTTP Protocol", passing on this knowledge systematically to our colleagues through mini-program cases.

3. In addition to the new knowledge needed for work, it is recommended to go back and systematically study relevant professional basic knowledge after working for a period of time.

Because most learning at school lacks practice, mastery of much knowledge is relatively shallow. When you study again after working for a while, you will have completely different gains. For example, after I had some experience troubleshooting business abnormalities and network problems, I read "TCP/IP Illustrated, Volume 1: The Protocols"① again, which I had read in school, and found I gained a lot. Many of the phenomena shown by actual business abnormalities corresponded to what the book described. Some phenomena that I had only seen in books and could not simulate in a test environment found scenarios in actual work.

4. Leverage the platform to learn and grow.

In actual work, explosive-growth businesses or large platforms are excellent resources for a person to grow and improve quickly. Because an explosively growing business will make you encounter problems that you might not encounter for many years elsewhere in a very short time, and a big platform must have grown from something small, having gone through many pitfalls. In such an environment, maintaining a curious and eager-to-learn mindset can help you improve quickly. For example, when the Qzone business began to explode, there was a period when I spent six nights out of ten analyzing and resolving business abnormalities with colleagues, often lasting several hours or even until dawn. It was precisely during that period that I encountered various problems that others might only encounter in several years, which let me know what knowledge to supplement, and it greatly helped me in my subsequent operations work.

5. It would be even better if you can position yourself with a more specific focus.

Just as my team and I have experienced the subdivision of work content and positions over the past seven years, today's society is an era of information explosion. IT technology constantly produces new technical branches, and it is very difficult to master every one. Therefore, combined with your own situation and work needs, having a more subdivided positioning for yourself allows your energy to focus, making it more likely you will quickly deepen your work in a field and become an expert. If you want to become a comprehensive talent, you can also consider focusing on one subdivision field for a period, studying and accumulating, and then switching to another focus area after gaining some depth.

As experience grows, transitioning from a capable soldier to a backbone, our work gradually changes from simple and straightforward to complex and comprehensive, and cannot be completed independently. At this point, teamwork or even cross-team and cross-department advancement is needed. At this time, we need to coordinate and balance resources from all sides, push projects to achieve goals, maximize and present team performance, and gain recognition. In this process, note the following points.

1. Keep an open mind.

In communication and cooperation, you need to put yourself in others' shoes more and create more win-win opportunities. Usually, first help sister teams or colleagues achieve their goals. When your own team needs help, there will surely be sister teams or colleagues who come to help you.

2. Find things that are helpful to everyone, and that everyone is interested in or can learn something new from.

For example, the virtual team for speed optimization I mentioned earlier is one such example.

3. Focus on summarizing and presenting results.

In company rank promotions and some technical award reviews, I have found that many people or teams have very outstanding work achievements, but they speak very generally during the defense. They work hard usually, but at the end present poorly, failing the review or ranking low. It is a pity. The workplace is not a speech with only one chance, but more like a marathon. For those who are not good at expressing themselves, they can focus more on using various textual forms in daily work to express scenarios, so that over the long term, colleagues and leaders around them can understand their and their team's work results.

4. Pay attention to accumulating materials in daily work.

Poor summarization and presentation is often also because the content is not rich and valuable enough. To solve this problem, you can develop the habit of categorizing and keeping work results such as emails, PPTs, data charts, and other cases from daily work. This way, when you need to summarize, the data will be rich, and if you have content, you are not afraid you cannot express it.

After many backbone employees take on management positions, as the number of people and teams under management increases, they find that the clear goals previously assigned by leaders gradually disappear. Some team members and even entire teams may be confused about what they should do. Besides constantly repeating tasks and work, key questions such as what is the long-term development of team members are unclear. If this problem is not well resolved, the team may become unstable, have low morale, and poor combat effectiveness.

This is a difficult hurdle, because in the past, whether working alone or on team projects, goals were usually relatively clear. But when leading a larger team, you will find that your work is often no longer about how to accomplish a given goal, but about thinking about what should be done, what kind of team I should build, how to help team members develop, and so on.

I have also done some thinking and exploration. For example, in the operations team, I continuously refined the division of work by reducing operation targets and following the idea of professional specialization, and tried to clearly define the core responsibilities of each team, allowing everyone to continuously accumulate in the direction of their team's core responsibilities, building experience differentiated from other teams through accumulation, and forming their own unique experience and platform advantages. In addition, I proposed the concept of "serve the product, serve R&D, serve ourselves", deliberately putting the product first and R&D second, hoping to guide the operations team to have product awareness and find more ways to help the product and assist R&D, thereby making the product more successful, rather than only focusing on their own operational efficiency and being a pure supporter. Only by doing this thinking and exploration well do I think one can truly transform into a strong general. I am still on this road of thinking and exploration.

I hope every technical professional who has just entered the internet industry or who is confused about development can break through themselves and grow from a capable soldier into a strong general.

Author: Zhao Jianchun