Personal Choices and the Course of History
(Long text warning: this article is about 17000 words long)
Recently, several friends came to me to talk about their choices. “A person’s destiny, of course, depends on self-struggle, but also needs to consider the course of history.” My father has always told me that choice is greater than effort. I have lived a third of my life and have made many choices: choosing computer competitions in junior high school, choosing both math and computer competitions in high school, choosing USTC for college entrance examination, regretting not getting into Tsinghua, switching from a math major to computer science in my sophomore year, giving up entrepreneurship, work and going abroad to choose MSRA in my senior year, choosing to go to a big company after getting my PhD, interviewing 12 companies and finally choosing to work at Huawei…
I have always had difficulty making choices, especially being easily entangled by sunk costs, and often struggling for a long time for things I can’t get. This leads me to prefer stability over risk when making choices. At the same time, I am quite idealistic, hoping to use my technology to change our lives. Looking back at these choices, I feel like Truman in “The Truman Show”, living in a huge studio, although these choices seem to be made by my own free will, they are the natural conclusions of the environment and personality preferences at the time; many times I have done some unconventional things, but I have been pulled back to the established track by an invisible big hand. This is probably the course of history.
The Age of Innocence
The Obedient Good Child
Before junior high school, I had no concept of choice, I just listened to my grandparents, did nothing but study every day, didn’t go out to play with my friends, didn’t play games, didn’t watch TV, didn’t read novels. In elementary school, my grandmother supervised me to do 50 problems every night, and I was not allowed to sleep until I finished. I started attending Olympiad classes in the evenings and on weekends from the third grade of elementary school. At that time, a large group of children were crowded in Teacher Xiao’s room, sitting on the floor. By the fifth grade, we were concentrated in the Olympiad training team classroom in Qiaoxi District, each with a fixed desk, and we didn’t have to go to class anymore, just doing papers every day.
Before college, I almost never bought anything myself, even clothes were bought by my family. Whatever clothes my parents took out of the closet every day, I wore. I basically only had one or two yuan in my pocket, used for taking the bus to and from school. One morning, the snow was knee-deep, and the bus only came once in a long while, each time packed with people like a can of sardines. In despair, I had to trudge to school, and by the time I got to school, it was almost noon. Actually, my home is only 3 kilometers away from the school, which is very close in Beijing. Now the house I rent is also 3 kilometers away from the company, and it only takes 20 minutes to run.
This high-intensity, single-minded training allowed me to win the national gold medal in the Hua Luogeng Cup Math Competition, but I was basically unable to take care of myself, let alone have a sense of autonomous choice. When I was promoted from elementary school to junior high school, because of this gold medal, all junior high schools in the city were free for me, except for the most famous Shijiazhuang No.2 Middle School. No.2 Middle School said that there has never been a tuition waiver, at most half off. But my grandparents and parents visited around and found that No.2 Middle School had the best study atmosphere and the strongest faculty, so they chose No.2 Middle School in the end. Of course, this choice consulted my opinion, I thought it was pretty good, but I didn’t participate in the research in depth.
Choosing to Participate in Computer Competitions in Junior High School
Not long after I started junior high school, the school began to organize computer competition classes. My family didn’t let me participate at first, saying that computers, isn’t that just playing with computers? If you play games all day, how can you stand it? After a month, my good friend Meng Yang told me that computer competitions are about programming, there is a lot of math in it, it’s quite interesting, I went home and told my parents, they said, then go participate. Just like in elementary school, we had to put on shoe covers solemnly when we entered the computer room in junior high school, then I heard the teacher talking about printf statements, looking around, some students were looking down at Tan Haoqiang’s textbook, some were taking notes seriously, the teacher didn’t let us touch the computer, we didn’t dare to move. At that time, our English was not very good, we also learned English in elementary school with the wrong method of using Chinese pinyin as phonetics, so I also marked these keywords in C language with Chinese pinyin. Because of this, I often write main as mian.
The method we used to learn programming at that time was also very simple and crude, the code was memorized by rote, and if you wrote it wrong, you were punished to copy it. In a classroom without computers, I was punished to copy the program 50 times on paper because I missed a semicolon. When I interview, some candidates ask me, why can I spot syntax errors in the program at a glance? That’s the OCD that was punished when I learned programming.
In addition to computer competitions in junior high school, there were also math competitions, but I didn’t spend much time on math competitions and didn’t achieve very good results. This is probably because I found computers more fun and spent more time on computers. I got full marks in the computer competition (NOIP popular group) in junior high school, but this was of no use for high school entrance examination, it still depended on the middle school entrance examination scores. Because of this, most of the time, we students who participated in computer competitions were still focused on the cultural courses needed for the middle school entrance examination. My middle school entrance examination score was also among the top ten in the city, and I successfully entered Shijiazhuang No.2 High School. By the way, the most powerful high school in Hebei Province for college entrance examination now may be Hengshui Middle School, which is famous nationwide as a college entrance examination factory, but at that time, Hengshui Middle School was not so strong, and Shijiazhuang No.2 Middle School was the strongest in the province in both college entrance examination and competitions. Therefore, there was not much to worry about in choosing a high school.
High School
Participating in Four Competitions at the Same Time, Finally Left with Two
When I was in high school, math, physics, chemistry, biology, and informatics (computer) competitions could all be recommended for admission if they won the provincial first prize. The competition classes were offered by the school, free of charge, and there was no threshold, all students could come to listen. In order for students to find their interests, the class times of these competition classes are generally staggered. Therefore, I participated in math, physics, chemistry, and computer competition classes at the same time, wanting to see which one I was more interested in before making a choice. The reason I didn’t choose biology was because the class time conflicted.
Each competition class starts in a large lecture hall with 200 people, just like a large class in university, where those sitting at the back can’t see the words on the blackboard clearly. Within a few months, many people drop out because they can’t keep up or are not interested, and all the students can fit in a regular classroom. At this stage, the teacher will also regularly organize some exams, and those with poor grades will be advised to focus on other competitions or prepare for the college entrance examination. Because each competition only has about 40 first prizes in the whole province, and only a dozen or twenty people from the North Campus of the Second Middle School can win prizes. To win a prize requires hard training, usually by suspending cultural classes for intensive training, so if you can’t win a prize, if you go back to take the college entrance examination, your grades will definitely be affected. Therefore, each competition will eventually leave a dozen or twenty people to strive for recommendation, too many people coming in will only lead to internal friction, and some students with bad luck may be affected.
At that time, my math competition results were relatively the best, and the computer was also good. I also followed the physics and chemistry competitions and learned most of the knowledge, but I did not seriously do the problem training. However, from these competition classes, I learned a lot of beneficial ways of thinking. For example, a question I like to ask during interviews, where three people stand at the three vertices of an equilateral triangle and start chasing the next person clockwise, asking the meeting time, this is a classic question in the physics competition, if you use calculus to hard solve this logarithmic spiral in polar coordinates will be very troublesome, but using the thinking of relative speed can calculate the result.
Because I think these competitions are quite interesting, I can’t bear to give up any competition. Until the frequency of classes in each competition increased, the chemistry competition conflicted with the class time of other competitions, and there was no time to complete so many assignments, so I first gave up chemistry. Giving up physics is my strategic abandonment, because there are several gods who participate in mathematics and physics competitions at the same time, and the class time of these two competitions is deliberately arranged not to conflict. But the teacher and parents all persuaded me that there is no time to do so many competitions at the same time, and I should concentrate as much as possible on one. I finally also signed up for the physics competition, but in the experimental exam of the rematch, because I did not participate in the training, I did not even know how to use the experimental equipment, and finally got a provincial second prize is also good.
Encounter with Website Management and Writing
As soon as I entered high school, I met my good friend Xiao Shikang, who is very strong in computer technology, not only can make computer viruses, write antivirus software, but also make websites. Although I could write some C programs when I first entered high school, it was only to cope with the level of internet company written test questions. I knew nothing about operating systems, computer networks, and website development. I only knew that killing the system’s key process with IceSword would cause the system to crash; I also learned to make some simplest web pages with FrontPage in junior high school, and I didn’t understand HTML and CSS at all. So I admired Xiao Shikang very much and learned computer systems and website development from him. At that time, he developed a “Taihang New Generation Antivirus Software”, I helped him write a few forms, but still did not understand the principle of antivirus.
Soon, I used FrontPage (later changed to Dreamweaver) to run a “Bojie Learning Network” composed entirely of static web pages. At that time, various JS effects were very popular, so I pasted a bunch of JS code from the Internet, and the web page was snowing heavily for a while, and a banner flew by for a while. During the 2008 512 earthquake, I also made a whole site gray. Because I was participating in four competitions at the time, I put the learning materials of several competitions and various information in the class on the Bojie Learning Network, which became an unofficial information portal. Probably it was at that time that a seed of liking to make websites was planted.
Later, because maintaining these static web pages was too troublesome, especially when it was necessary to modify the overall style of the whole site, it was a disaster to modify page by page, so I registered a number theory forum on 5d6d (a free forum hosting website). This was the most popular Discuz! forum software at the time, and Xiao Shikang also helped me register a free domain name boj.pp.ru. The forum made the efficiency of information publishing much higher. I spent more time on the forum, which took up a lot of time to do competition questions, and collected all the learning materials such as the real questions and answers of previous competitions. The most influential one might be the “Scoring Guide” I wrote for the math competition, and I also expanded the second edition of the “Scoring Guide” for the computer competition written by another author “I am mentally retarded”. The forum even attracted foreign students who were doing math competitions, and I helped him translate the domestic math competition questions into English.
Unfortunately, I didn’t have the habit of data backup at that time, and the data of Bojie Learning Network and Number Theory Forum have been lost. Except for the “Scoring Guide” I wrote myself, I can’t find the competition materials I accumulated on it.
In high school, I often surfed the Internet to see various things. At first, I was influenced by the relatively right-wing liberal trend (in the domestic sense), and then I was influenced by the relatively left-wing trend. I often read posts on the Internet and wrote many current affairs commentary articles under a pen name. This also took up a lot of time that should have been used to do competition questions. I remember when I went to Beijing to participate in the NOI National Computer Competition finals in 2009, our provincial team was doing questions at night, but I was brushing Utopia, and my grandmother who accompanied me to the competition said that I was always on the Internet and didn’t do the questions well. However, being exposed to many different political views at this relatively early stage in high school also made me realize the complexity of society and the diversity of views, and I was not easily swayed by the wind, but would have more independent research and thinking.
I like to write, probably because I often wrote compositions in elementary school. Although I don’t write very well, especially according to the standards of the college entrance examination, I am particularly not good at writing narrative essays, but at least I am willing to write down my thoughts, and not like many modern young people who find it difficult to write long articles, even forget words when they pick up the pen.
Choosing USTC for College Entrance Examination
There were three paths for recommended students in my year: directly signing contracts with specific schools after winning national competitions, participating in the “Five-School Joint Examination” (or similar exams organized by other schools) after winning provincial first prizes, and participating in the college entrance examination under the conditions of independent enrollment and score reduction by universities.
Although I only won a bronze medal in the 2009 NOI National Computer Competition, I could still go to Fudan University. But at that time, I was only in my second year of high school and didn’t want to give up the opportunity to go to Tsinghua and Peking University just to save a year of high school. Compared with other subject competitions, computer competitions are indeed special. Most students win provincial first prizes in the first semester of their second year of high school, then go through provincial team training, and participate in the National Computer Competition during the winter vacation of their second year. Other subjects usually win provincial first prizes in the first semester of their third year, and then participate in national competitions. Therefore, when I won the national bronze medal in computer science in my second year, I hadn’t taken the math competition yet, and naturally didn’t want to give up this opportunity. To be honest, I learned better in math competitions than in computer science. It was an extraordinary performance that I could win the second place in Hebei Province and enter the provincial team composed of 6 members (Hebei Province does not have provincial selections, and directly enters the provincial team based on the results of provincial competitions). Some computer gods in our competition class performed abnormally. But I didn’t perform so well in the math competition, and I missed the provincial team. There are some areas in my math competition that I have always not learned well, such as plane geometry, which caused me a lot of trouble in the rematch.
Like most competition students, I embarked on the path of the “Five-School Joint Examination”, including Tsinghua, Shanghai Jiaotong University, University of Science and Technology of China, Xi’an Jiaotong University, and Nanjing University. The subjects of the examination include mathematics, Chinese, English, and comprehensive science, which are similar to the subjects of the college entrance examination. The examination lasts from 8:30 in the morning to 20:00 in the evening, a total of 7.5 hours a day. Among them, many of the questions in mathematics and comprehensive science are of the difficulty of the preliminary competition, which is slightly more difficult than the college entrance examination. The worst I did was in comprehensive science, where I only scored 40 out of a full score of 100. In the end, I was about 10 points short of Tsinghua’s score line, but I exceeded the score lines of the other four schools. The Five-School Joint Examination allows two choices, and I chose Tsinghua and Shanghai Jiaotong University. Tsinghua still allowed me to participate in the interview. At that time, it was a group interview. Several candidates conducted leaderless group discussions. The topic was “How to View Google’s Exit from China”. Naturally, I knew more about this topic than other candidates. Although I deliberately restrained myself, I still obviously led the entire discussion. When I went to Beijing to interview for Tsinghua, I also found that one of my classmates was missing from the interview list. I hurriedly notified him to find Tsinghua, and in the end, he successfully entered Tsinghua. Shanghai Jiaotong University promised me to join the best science experimental class.
The University of Science and Technology of China is a bit different. In addition to the “Five-School Joint Examination”, many admissions teachers were sent to the school to organize interviews, which are similar to company interviews. In several rounds of interviews, there were face-to-face problem-solving, examination of basic knowledge, and discussion of future plans. After the interview, the admissions teacher of the University of Science and Technology of China especially hoped that I could go. They said that I ranked first or second in the school’s interview results. However, the University of Science and Technology of China requires a contract, just like accepting an offer from a company. The contract requires a guarantee not to go to other schools. But this contract only has paper binding force, and many students who got Tsinghua and Peking University still left.
At that time, I was most entangled in whether to go to Shanghai Jiaotong University or the University of Science and Technology of China. Shanghai Jiaotong University is more famous, and Shanghai is a bigger city; the University of Science and Technology of China has a quieter desk, suitable for basic research. I planned to major in mathematics at that time, and computer science was just a hobby, so I felt that the solid atmosphere of mathematics and physics at the University of Science and Technology of China was more suitable for studying mathematics. In the end, I chose to abide by the agreement signed with the University of Science and Technology of China and came to the science experimental class of the University of Science and Technology of China. It needs to be specifically explained that the science experimental class belongs to the juvenile class college. When we say the juvenile class college to the outside world, most people will regard us as the juvenile class, but in fact, the juvenile class college includes the innovative pilot class that came up in the second year of high school and the science experimental class that graduated normally in the third year.
There is another choice, which is to give up the opportunity of direct recommendation, use Tsinghua’s independent enrollment score reduction and competition award bonus, review for half a year, and then go to Tsinghua. But I think this is too risky, because our competition class’s cultural course is compressed into one year of the first year of high school, and the second year is all high-intensity competition training, and the school’s cultural course unified examination results have dropped to more than 100. Although after winning the provincial first prize, in order to prepare for the independent enrollment examination (the subjects are basically the same as the college entrance examination), I have made up a lot of knowledge of cultural courses, and the results have risen to the top 50, but without considering the bonus, I may not even be able to go to the University of Science and Technology of China. Of course, through the training in the second half of the third year, the results will be improved, but it is still too risky to go to Tsinghua with the score reduction of independent enrollment.
After the results of our competition class’s provincial competition came out and the qualification for recommendation was settled, we entered a state of Buddhism. Compared with the students in the college entrance examination class, it is really too free and easy. In this half year, I taught myself PHP, thinking about imitating Discuz! Forum and WordPress, and writing a forum system by myself. In the end, I wrote about 8000 lines of code and set up a demo, but I didn’t use it later. I also read a book “Deep Understanding of Computer Systems”, which is the sprout of my interest in computer systems. In addition, I read the blogs of Matrix67 and other gods, learned a lot of interesting knowledge, and dreamed that it would be great if there were so many high-quality contents in my blog one day.
University
I was quite unwilling to not be admitted to Tsinghua. When I first went to university, I played the Tsinghua school song “The West Mountain is Green, and the East Sea is Vast” in my dormitory, and asked my roommate, do you know what song this is? He said, this is needless to ask, it must be Tsinghua’s school song. The University of Science and Technology of China’s science experimental class is full of talents, many of whom have missed Tsinghua and Peking University. Until today, when I meet Tsinghua students or experts who come for interviews, internships or employment, they are sometimes modest, and I always say that I have been dreaming of becoming a student of Tsinghua, but I have never realized it in my life. Being a student of Tsinghua is a lifelong glory, and you should cherish this honor.
Sophomore year, switching from mathematics major to computer science
In my freshman year, although I joined the Hua Luogeng class to study mathematics, and the University of Science and Technology of China also has a strong atmosphere of learning, I still can’t completely concentrate on learning like in high school, and always like to participate in various clubs. Regarding this experience during university, I once wrote a long blog, Graduation——Hereby Commemorate My Lost Youth, so I won’t repeat it here. But there are two things that still need to be emphasized.
The first thing was that I joined the LUG (Linux User Group) in my freshman year, came into contact with the hacker spirit and the spirit of free software, and discovered that technology can change life. In high school, many people in our class believed that communism was difficult to achieve because the total amount of materials and energy is limited, while human desires may be infinite; in addition, social status is relative and absolute equality is impossible. During the laid-back time after being recommended for admission, I also read Arrow’s impossibility theorem (1951) in multi-person voting and the classic paper The Nature of the Firm (1937) by economist Coase, and was somewhat desperate for a while, thinking that absolutely fair elections and one-person-one-vote companies are unrealistic. But computers store, transmit, and process information, not physical objects. The cost of transmitting and copying information is very low, which makes selfless sharing and taking what one needs possible. The freedom, sharing, and cooperation of the hacker spirit attracted me, hoping to establish an information utopia in a world full of material desires. This is somewhat similar to the core ideas of today’s metaverse and Web3.
The second thing was that in the second semester of my freshman year, I tried to start a business with the buddies of the Gewu Zhizhi Society, imitating the then popular movie “The Social Network” and “Renren.com”, the “Chinese version of Facebook”, and created a “Gewu Network”. At that time, we found that every class, every course, and every laboratory lacked channels for communication and information release. Some used the most traditional methods such as phone calls and mass text messages, and some used QQ groups, but the messages were quickly drowned out. Although the school has an online teaching platform where course materials can be shared, there are few users. So we proposed the concept of “organizational social network”, the core of which is “organization” in society, to realize information sharing, announcements, discussions, project planning, elections and voting within the organization. Organizations can combine existing functional modules or create new functional modules through programming. Simply put, an organization is like an independent multi-functional forum. At the same time, we also envisioned Web3.0, hoping to ensure that everyone can own their data through technical means, can authorize others to access data on their own, and through a mechanism of benefit sharing, can let data users pay data producers, so that producers can benefit in the real world. Looking back at this design in 2011, I still feel a bit excited, because today’s Web3 based on blockchain technology also realizes similar dreams.
Unfortunately, my website technology lags behind my ideas. The webpage is very ugly. The Gewu Network went online during the summer vacation when I was promoted from freshman to sophomore. As mentioned in the blog post Graduation - A Tribute to My Lost Youth, under the leadership of President He Yu and Vice President Zhang Wei, we set up screens and projections in the east and west campuses to promote the Gewu Network. It should be the first and last time to promote a website with screens and projections on campus at USTC.
Because of these experiences, I became more and more addicted to computers that can bring changes to our actual life, rather than boring mathematics. My math grades in my freshman year were very poor. I failed linear algebra in the second semester of my freshman year. A big part of the reason was that I spent all day messing around with computers in the computer room of the Youth College. I had a lot of fate with my good friend Guo Jiahua. The first day I came to USTC to report, I took a night train and waited at the door of the 221 dormitory building of the Youth College early in the morning. After a while, Guo Jiahua came over with his luggage. He was also recommended for admission through the computer competition, and he was very good at playing with Linux in high school and knew how to do network configuration for servers. He was the first friend I met at USTC. Although I also often went to the computer room of the Youth College, Zhou Miao, who was in charge of technical management of the computer room, did not let me touch the servers in the control room because I didn’t know a single Linux command at the time. Later, I slowly learned some commands with Guo Jiahua, and I could also go to the control room to pull network cables, make crystal heads, and configure switches and gateway servers like Zhou Miao and Guo Jiahua. When I was in my first year of graduate school, I also called the undergraduate buddies of LUG to the computer room of the Youth College to play, look at the physical objects of the Freeshell server cluster, and make crystal heads together. However, there may be nothing difficult about the network. Once you do it, you will know. When I told my girlfriend the story of teaching a few buddies to make crystal heads in the computer room of the Youth College, she said that it was not difficult. When the network cable was broken, she was reluctant to buy a new one. She just installed a new crystal head to fix it.
During the summer vacation of my freshman year, I seriously considered transferring from the mathematics major to the computer science major, but I had not yet made up my mind. I still bought the textbooks for the mathematics department in the first semester of my sophomore year and found it more difficult than my freshman year. When the sophomore year started, after two weeks of classes, I found that I couldn’t understand differential equations at all, and mathematical analysis (three) was also very hard to listen to because I didn’t learn integration well before. I took advantage of the opportunity to have one-on-one with professors in the mathematics department to express my concerns. The professor told me very openly that the courses we are learning now are the basics of mathematics. If the foundation is not solid, it will be difficult to make achievements in mathematics in the future; if you are more interested in computers, it is best to do what you are more interested in, and don’t force yourself to choose a path you don’t like. So, I made up my mind, told the head teacher about the transfer of majors, and the head teacher also supported my choice. Fortunately, the Youth College is free to choose majors. You only need to find the teacher to fill in the course selection form, and you don’t need to go through a lot of trouble to transfer departments.
Today, there are many big names in my research field who have transferred from mathematics and physics majors.
For example, my mentor Dr. Zhang Lintao was the gold medalist of the International Physics Olympiad in 1992. After studying physics at Peking University, he turned to EE and CS when he went to Princeton for his PhD. The mentor said that although he considers himself to be smarter and has a good foundation in physics, he still lacks some inspiration compared to some big names. He believes that on the academic path of basic science, only the top 1% can make achievements that change the world. Although most other researchers can also become professors through seniority, it is not so interesting. He doesn’t think he is among the top few people. I feel that the mentor is a particularly smart person. Once he roughly talks about the idea, he can get it; every time he listens to a report, whether it is his familiar field or not, he can raise very good questions. Even such a smart person as a mentor thinks that he is not suitable for basic research. I think I am lucky not to choose basic science, otherwise I might have become mediocre.
My friend Lu Yuanwei, who was also jointly trained at MSRA, studied physics in his undergraduate years. When he came to MSRA, his computer foundation was not good. Dr. Guo Chuanxiong gave him several computer professional books. After reading them, he could do very good computer system research like us who are “professionally trained”. Choose what you like, it’s never too late.
Senior year, entrepreneurship, work, study abroad, or MSRA
No matter which one you choose, it seems good now? This is my first thought after writing this small title.
When I was a senior, the entrepreneurial team born out of the Gewuzhizhi Society was no longer as wishful as when it was doing the “Gewu Network”, thinking that social networks could be promoted as long as they had technology and ideas. The entrepreneurial team tried more products that could bring actual income, such as the physics guidance system, which packaged physics experiment videos, teaching videos, etc. into products; the classroom answering system, which gave each student a handheld wireless terminal with buttons, and the teacher could realize roll call, answering questions and other functions through near-field communication on the computer on the podium. These products brought a lot of actual income, but the market size is not easy to grow. After I left the entrepreneurial team to intern at MSRA, they found a truly technological and promising field—high-end scientific instruments. Today, Guoyi Quantum, relying on the original innovative achievements of USTC, has designed and produced several high-end quantum scientific instruments, solving many “bottleneck” problems in quantum precision measurement, and has become a unicorn with a total financing amount of nearly 1 billion yuan. If I chose to continue with this entrepreneurial team at that time, I could not only achieve financial freedom, but also the innovations I made would have strong practical value.
Although the rate of further study at USTC is very high, there are not many who go directly to work after graduating from undergraduate studies. However, many of the great gods I met in computer competitions received offers from top companies like Google after graduating from undergraduate studies. In addition, some domestic Internet companies also extended an olive branch to me, such as Alibaba once invited me to interview. I didn’t seriously consider the option of working directly after graduating from undergraduate studies, because I joined the MSRA joint training doctoral program in the summer of my junior year and thought Microsoft was pretty good. A doctoral friend of mine told me that when the CTO of ByteDance invited him to join, he chose to come to MSRA for his doctorate, so he missed a billion, maybe even more.
Studying abroad is the default choice for students with high grades at USTC, because most of them choose to study for a doctorate because they generally need to pay for their master’s degree. When I was a sophomore, I also came to Beijing with a few small partners from the Gewuzhizhi Society, and rented a short-term rental house for nearly a month, and participated in the GRE training class of New Oriental. Interestingly, most of us did not go abroad. My math grades were not good in my freshman year, and I was addicted to various network services, and I was not particularly attentive to the course, so my GPA was relatively low (3.4 when I applied for MSRA joint training in my junior year, and 3.3 when I graduated in my senior year), and I probably couldn’t go to a particularly good school for a doctorate abroad. Therefore, although I went to the GRE training class, I did not memorize words and do questions as required by the teacher after I came back, and I have not registered for the GRE exam to this day. In addition, I was not very interested in academic research at the time. Many students with high grades will enter the laboratory to do scientific research in their undergraduate studies, but I have no scientific research experience. I feel that scientific research is as boring as the mathematics major I once abandoned, and engineering projects can really change life. Therefore, during the application season, I did not understand any school, nor did I submit any application.
MSRA originated from an accidental encounter. At that time, although I was in class with the School of Computer Science, I went to the LUG activity room or the Shao Yuan computer room as soon as I finished class. I didn’t play much with the students of the School of Computer Science, and many information was relatively closed. In the second half of my junior year, the head teacher, Mr. Huang, told me that Microsoft has a “Microsoft Scholar” scholarship, and I can try to apply. During the interview process, I learned that Microsoft can intern and there is a joint training doctoral program. When I first heard that “Microsoft Scholars” and joint training doctoral programs are recruiting students with high grades, I thought there was no hope, but I didn’t expect that the teacher who interviewed me appreciated the technical projects I did during my undergraduate years, and finally not only won the scholarship, but also got the opportunity to be a joint training doctor.
Among these four choices, I am most entangled in entrepreneurship and MSRA. Entrepreneurship is very passionate, but the risk may be relatively large, because at that time we did not find a good direction like high-end scientific instruments. After two months of summer internship, MSRA left a good impression on me. The office environment is comfortable, there are free drinks and fruits, the culture is very open, and the mentors are very knowledgeable and serious. The key is that I have changed my stereotyped impression of research. It turns out that network system research is not about pushing formulas, but about writing code to solve real problems. Although these problems come from distant data centers, they do exist. Because my risk preference is still stable, I chose to continue my doctorate at MSRA and do research. Although I have some concerns about studying for a doctorate in China, seeing the achievements of the joint training seniors and sisters, I am no longer worried.
Doctor
System or FPGA programming
The first project ClickNP during my doctoral study was a key project of the tutor. Tutor Tan Bo has done system design, concentrated the resources of the whole group to do it together, and finally the first draft of my paper was completely overturned and rewritten by the tutor. After this paper was published, the tutor asked me in the tea room, whether to do FPGA programming or system next. I thought about it, or do the system. First of all, because I am not from EE, FPGA programming is just a three-legged cat’s skill, and I can’t play with digital circuits if I go deeper. The second is because the main research direction of our network group’s mentors is still biased towards the system, and doing the system can get more guidance. The tutor nodded and said that he also suggested that I do system direction. This two or three-minute conversation determined the path of my doctorate.
Doctoral graduation, academia or industry, entrepreneurship or big company
When I graduated from my doctorate, it involved the choice of work. I roughly divided it into 5 types: academia, freelance, entrepreneurship, foreign big companies, and domestic big companies.
Firstly, in academia, although I love scientific research, as I was concerned when I first started my PhD, I don’t like theory, I prefer practical research. I feel that academic research, even in the field of network systems, often deviates from practical needs. For example, the research that my entire team spent years on during my PhD, although it published good papers, it only explored some possibilities and was not commercially used in any production system. Today, I still hope to summarize successful practices in the industry into papers and publish them, just like I like to write blogs to share my life, but I don’t want to “make up new words to express sorrow”, to do something that is not likely to be commercially used in the short term just for the sake of writing papers.
Secondly, freelancing, although the hacker spirit essentially encourages freelancing, the current mechanism for sharing knowledge-based benefits is not sound. Except for a few big Vs, it is difficult to support oneself solely on consulting services, knowledge payment, and advertising income from personal websites. For most freelancers, the money that can be earned from freelancing is far less than working for a big company. Therefore, my idea of freelancing gradually faded. I admire the LUG friends who chose freelancing, practicing the spirit of idealism with their own lives. At present, it is necessary to ensure that I don’t starve to death first, and then talk about the hacker spirit of freedom, sharing, and openness.
Then there is entrepreneurship. The advantage of start-ups is that they are efficient and can drill into niche markets like catfish. Analyzing the size of the target market and the current player situation, it is not easy for companies to make money. For a company the size of Microsoft, a market below 1 billion US dollars is not even worth considering. Because it takes a complex process for a big company to do a project, it needs a multi-functional team to support it. A small team of three to five people can do something, a big company may need a team of dozens of people. The development process of large companies is complex, the code production rate is 300500 lines/person-month, and the output code is also strictly reviewed and tested; small companies may have a code production rate as high as 30005000 lines/person-month, but the code quality may not be so high. Therefore, large companies are more suitable for to B markets with strict quality requirements, while start-ups are more suitable for markets that run fast and iterate quickly.
The field of data center network research I am in is difficult to start a business, because data centers are only available to large companies. Large companies either develop their own smart network cards or purchase smart network cards from other large companies. Who would buy a network card from a small company that is unknown? Therefore, this typical to B field has many start-ups, but they are all founded by successful big bosses from big factories, and it is not suitable for young people to start a business. If you want to start a business, you may have to do “emerging” fields such as blockchain, metaverse, privacy computing, artificial intelligence, etc., and I have not accumulated in these fields, and I do not want to give up the accumulation in the data center field.
I think the data center field is more suitable for working in big factories. Compared with freelancing or start-ups, large companies have more rules and regulations. These rules and regulations are reflected in rules and regulations, project management and development processes, and on the other hand in topic selection. In the words of my mentor, it is necessary to comply with the company’s business facts and choices, respect the company’s position in the industry and the status of products; the research problems must have a way to land on products, rather than solving “human problems”.
Working at home or abroad makes no difference to me, but my girlfriend just graduated from her PhD this year. If I went abroad in 19, it would change from a different place to a different country. When we were in different places, we could see each other once a month. If we were in different countries, we couldn’t do it so frequently, and there would even be time differences, which would be more troublesome. Therefore, I quickly ruled out the option of working abroad. At the beginning of 2018, I had a whim and signed up for the TOEFL test without preparation, and scored 103 points. Among them, speaking and writing were the worst, with 22 and 24 points respectively. If I prepare a certain amount, maybe I can improve. But later I didn’t plan to work abroad, so I didn’t deliberately learn English.
Big company interviews, mainly doing questions, talking about research results and chatting
So, looking at it comprehensively, only domestic large companies or unicorns are left. Large companies generally have several channels for recruitment, big guys invite, internal push, or sea投 resume. Because we are in the circle of MSRA, many big guys who have left MSRA naturally become our important choices. They will also take the initiative to contact us. This kind of big guy invitation has the highest probability of getting top offers; internal push is to find friends for internal recommendation. My joint training PhD friend, Teacher Cong, helped me push several companies; it is generally not recommended to cast a resume in the sea. Firstly, the probability of the resume being “fished” is not high, and secondly, the department matched may not be suitable. The way of big guy invitation or internal push is equivalent to using the endorsement of the recommender to give the interviewer a good first impression before the interview. However, you must find a reliable friend for internal push. Once someone recommended a candidate to me and said bad things about him, I said either don’t recommend it, it’s always not good to say bad things about others because of personal grudges.
I interviewed a total of 12 companies, divided into three categories:
- Domestic big companies, including Alibaba, Tencent, ByteDance, Meituan, Huawei
- Domestic unicorns, including Pony.ai, Fourth Paradigm, Cambricon, Horizon
- Foreign companies, including MSRA, Xilinx, VMWare
The interview format of most companies is similar, the first two rounds are technical interviews, most companies will let you talk about the research you have done, and do some algorithm questions. The latter are supervisor interviews, and higher-level president interviews, and some also have HR interviews. These high-level interviews are mainly chat-based, mainly looking at the impact of research results, future career planning, the degree of matching with the company’s values, and senior leaders will also take this opportunity to promote the company and attract candidates. Some senior leaders will also require code writing in the interview.
For example, Ali Star includes two rounds of technical interviews, one round of supervisor interview, one round of cross interview, and one round of Ali Star final interview. The final interview of Ali Star is the P11 president of the department and two big guys from other departments, plus the senior HR director to interview together, first let them do a 30-minute academic report, and the big guys ask questions for 30 minutes. At that time, I was talking about the database project of batch and stream processing that I was doing. I didn’t expect that the P11 big guy was a senior expert in the database, and I was sprayed a lot. However, many of my immature projects are like this, using the opportunity to report to the big guys to receive feedback. When I was interning at MSRA, once (not an interview) Turing Award winner Butler Lampson visited MSRA, I told him about the idea of total order message transmission, and he gave very valuable feedback. This work was finally published on SIGCOMM ‘21 after being rejected 4 times.
The cross-interview at Alibaba also left a deep impression on me. The interviewer in the cross-interview came from another department, an expert who had jumped from Intel, and asked me a lot of knowledge about CPU architecture. He said that I knew more than most of my peers, but I still lacked understanding of the details. I said, it’s hard to learn about the details of CPU microarchitecture through public channels. He said with some deep meaning, this is the value of work experience. This made me realize that I must join a team with core technology and have as broad a technical vision as possible in order to learn as much know-how as possible in my short youth.
During the interview with Guo Chuanxiong from ByteDance, Dr. Guo gave me a math problem. The problem was to find the upper and lower bounds of a given recursive formula, which was derived from his DCell paper (the number of servers growing exponentially with the level of DCell), and I hadn’t read this paper carefully. In fact, the upper and lower bounds are not difficult to find in mathematics, but I didn’t solve it at the time, and it was only after Dr. Guo explained it to me that I understood. Dr. Guo said that the kind of research he likes is mathematically beautiful and practical, but such research is hard to come by. When interviewing ByteDance’s CTO Yang Zhenyuan, he asked me to write code on the spot and also discussed many details of my research work. He said that he hadn’t talked about such low-level things for a long time. He did this kind of low-level optimization when he was at Baidu, and it felt like he had been a general for several years and was back to the days of swordsmanship.
When interviewing Pony.ai, I finally got to meet the legendary Master Lou. Before meeting Master Lou, there were two rounds of code interviews, each with two or three not-so-difficult algorithm problems, similar to Google’s interviews. Master Lou gave me a few IQ questions that I had never seen before:
- Use a coin that has a probability of p of landing heads up each time it is tossed, allow multiple tosses, implement a 01 random variable with equal probability, and try to minimize the expected number of tosses. This is indeed a beautiful problem, I came up with the optimal strategy on the spot but didn’t calculate the expectation, later I found out that the expectation is 1/H(p), where H is the entropy function.
- The number of vertices and faces of an n-dimensional cube.
- Given the start and end points on any of the six faces of a three-dimensional cube, find the shortest distance for a worm to crawl along the surface.
- Divide one side of a rectangular paper into three equal parts and five equal parts. Master Lou gave me a piece of A4 paper to fold on the spot, I fiddled with it for a long time, came up with a method, Master thought it was correct, I found out it was wrong; then I modified it, found a three-part method he hadn’t seen before, but it was more complicated, in fact, Master’s method was very simple and easy to generalize to any equal parts.
At that time, I also asked Master Lou how he views the end-to-end autonomous driving pipeline. He said that he doesn’t trust a neural network, a black box, with life-critical things; deep learning is not strong in interpretability and debuggability, even if the results are good, it’s hard to explain to the public if something goes wrong, and it may not meet regulatory requirements.
The number of interview rounds at MSRA may be the most, including two rounds of code interviews, collective interviews with researchers and supervisors, cross-interviews, interviews with the deputy dean, HR interviews, etc., each round of code interviews is two algorithm problems plus a system design problem, known as the “one-vote veto system”, because if the code interview fails, no matter how much the supervisor pleads, they can’t be hired. The collective interviews with MSRA’s researchers and supervisors are similar to the collective interviews with Huawei’s researchers and supervisors and Alibaba’s final interviews, all starting with academic presentations, followed by Q&A and discussion. The cross-interview mainly tests the breadth of knowledge and the openness of thinking. There was once a candidate who attacked the research field of the cross-interviewer during the interview, which was not appropriate.
During the interview with Huawei, Tan Bo asked me, what do you think of the application of FPGA in data centers. If you only defend the advantages of FPGA from the perspective of defending your own research results, this answer is narrow. Different companies have different choices, which are due to technical path dependence and business considerations. Companies prefer candidates who can objectively analyze the pros and cons of different smart NIC architectures. When I am an interviewer, I also hope that candidates can jump out of their own research work, have new independent thinking, and ideally elevate one level, rather than repeating the report they did a few years ago like a parrot.
In fact, I didn’t prepare much for these interviews, because I think the algorithm problems of big companies are not difficult (unless they are math or brain teaser problems); I have talked about my research results many times, and I can talk about them without PPT materials; I don’t need to prepare for chatting, my career plan is to become a system architect, I also like to struggle, my values match those of domestic big companies, and I have a strong interest in computers, I hope to continue exploring the frontier of Pasteur’s quadrant. Some interviewers still ask some questions related to computer basics, I know what I know and I don’t know what I don’t know. For example, I haven’t used C++ or Java, so I say I don’t know; although I have done some kernel development, it’s all the simplest kernel modules, I haven’t studied the network protocol stack. When I am an interviewer, I also like to test the candidate’s basic computer knowledge, such as operating systems, networks, distributed systems, databases, etc., as well as the syntax and semantics of the candidate’s preferred programming language and the knowledge of compilation, linking, and runtime (such as garbage collection), often find that many candidates answer theoretical questions very well, but can’t answer when asked one more layer, because they haven’t really used these systems, they just memorized some interview experiences. Some candidates even try to deceive the interviewer, if the interviewer is an expert in this area, it is easy to be found out.
It wasn’t until I became an interviewer myself that I realized that just like when I was a candidate, the closer the candidate’s level and experience are to the interviewer, the more comfortable the interview is. Meeting a master is like chatting with a friend, for example, if you meet someone who plays ACM, you can talk about which data structures and algorithms you are good at, which problems are pitfalls, and how to cooperate during the competition; if you meet someone who tinkers with websites, you can talk about what frameworks you use, how many pitfalls CSS and JS have, and what bloody history you have in the operation and maintenance process; if you meet someone like Zhihui Jun who tinkers with embedded systems, you can talk about which microcontrollers you have played with (and burned), and how to adjust the parameters of PID control; if you meet someone who is into blockchain, you can talk about consensus mechanisms and smart contracts, and by the way, let him explain to me the coin price that I haven’t looked at for many years; if you meet someone who has played with information security, let him tell the “glorious history” of which websites he has hacked and which vulnerabilities he has found; even if you meet a field you don’t understand, you can humbly ask for advice, listen to the candidate’s story, and learn a lot.
Choice of Big Tech Offers
Thanks to the kindness of various interviewers and leaders, I received decent offers from these companies. Offers from domestic tech giants will match each other. For example, after I got the offer from Alibaba Star, other big companies would refer to this package. Therefore, if juniors want to find a job in a big company, they must not only apply to one, otherwise, they will be at a disadvantage.
To choose an offer, I wrote a Summary for each company, just like reviewing a paper, listing Strengths and Weaknesses, and putting the information collected from the interview process and various aspects into Comments to the Author. At the same time, I also record the big shots in the company, direct supervisors, newly joined excellent employees, and interns. Just like each paper review in a top conference is substantial, I wrote thousands of words of comments for each company. On this basis, I made a spreadsheet and scored each company from multiple aspects, including:
- Entry salary
- Long-term expected salary
- Relative level of the offer among peers
- Business match
- Growth space
- Industrial influence
- Academic influence
- Work-life balance
- Familiarity with leadership
- Job stability
- Company culture
- Company brand
- Department prospects
- Field prospects
- Technical accumulation
- Big shot boss
- Big shot classmates
- Work location / household registration
Each item is scored from 1 to 5 like a paper review, and then statistical indicators such as arithmetic mean, geometric mean, and variance are calculated. According to these statistical indicators, the companies are ranked. Just like reviewing papers, whether a paper is accepted or not is not solely based on the score, but the first round of screening can filter out those with low scores. There are 7 companies with an average score of more than 3 points, which means that 5 companies were filtered out in the first round. Because only one company can be chosen in the end, the “acceptance rate” is only 8%, which is indeed a cruel screening. For the companies that were screened out in the first round, to avoid hanging the recruitment HR and wasting the sincerity of the supervisor, I said it earlier. Just like telling the author as soon as possible after the paper is rejected in the first round, the author can submit to other conferences earlier. I am not good at rejection, and I have to think deeply for a long time when rejecting each company.
The average score of these 7 companies is as low as 3.78 points and as high as 4.11 points. The average score of the top 6 companies is at least 3.94 points, so it is really hard to distinguish. I also find it difficult to weight the above indicators. In paper submission, the final acceptance is not based on the score, but after the PC (Program Committee) meeting discussion, if someone champions (supports) and no one opposes, this paper is mostly accepted. The same is true in the context of choosing a company. If there are obvious advantages and no obvious disadvantages, it is a better choice.
In the end, because my doctoral mentor was at Huawei, and Huawei has the advantage of combined hardware and software design, I made a difficult choice. It was even harder to reject the other 6 companies among these 7, because each company has a broad prospect, generous treatment, ample growth space, batches of big shot bosses and classmates, etc. At that time, it seemed that there was not much difference in choosing which company.
Shortly before graduation, I encountered the “516” US sanctions incident. For a while, people were in panic. Many people said that Huawei was almost done and advised me not to go to Huawei. A teacher told me that the most precious thing for a person is time. If you want to support Huawei, you can spend money, and buying a mobile phone is to support Huawei. But if you choose to join a company and invest most of your time, it’s different. Qian Xuesen and other great scientists can give up generous treatment to return to the country to do unknown work, but they can no longer do world-leading research like Yang Zhenning, win the Nobel Prize, and their living conditions are not good for a lifetime. But after my field research and interviews, I confirmed that Huawei is not as vulnerable as the outside rumors, the whole company is still operating normally, doing what projects should be done, and the news related to sanctions is broadcast on the TV in the cafeteria during meals, and everyone has become accustomed to it. Therefore, I went against the crowd, insisted that joining Huawei was not the same as Qian Xuesen’s return to China, and maintained my choice. This is also the most opposed major choice in my life.
During the new employee orientation, we had a conversation with a president of the HR department. I proposed, can we emulate “Alibaba Star” and create a systematic project to attract excellent talents. In August 2019, the company happened to launch the “Genius Youth” plan, and I was fortunate to be one of them. The company-level “Genius Youth” plan has nothing to do with my casual suggestion, but I can predict that the company will pay more and more attention to the recruitment of excellent talents such as doctors, rather than tightening the recruitment of excellent talents as some people imagine due to sanctions. Three years have passed, under the care of the leadership and colleagues, I have taken on increasingly important project responsibilities, played an increasingly important value, which also shows that there was no mistake in the choice of that year.
Although I only have very limited work experience, what I want to tell juniors is that in the above “scoring items”, the importance of leadership and department is higher than the overall situation of the company and research field. Whether a person is comfortable or not, whether he can be valued in his work, largely depends on the leader, especially the direct supervisor. If the vision of the leader is consistent, cooperation will be smoother. This is like the importance of a tutor in the process of reading a PhD is far greater than the reputation of the school and college. The importance of the department is second, mainly looking at the business and atmosphere of the department, that is, whether the basic disk of the business is stable, whether there is imagination space, and whether the team atmosphere is harmonious. In a large company, the decline in the company’s stock price may affect income, but it has little impact on personal work in the short term. The popularity of the research field is even a slow process of change. If one day your research field is dying, it is not too late to change, many big shots have experienced the switch of research fields.
If time could go back many years, would the choices be different?
There is a series of documentaries called “The Up Series” that started recording the lives of 10 boys and 4 girls from different classes in the UK in 1964. A new episode is released every 7 years, and they are now 63 years old. The documentary aims to verify the ancient Chinese saying “You can see the old from the age of seven”. What I see from this documentary is that although it is very difficult to cross classes, everyone can choose a different life, “I am me, a firework of different colors”. It is difficult to predict the trajectory of life at 63 from the ages of 7, 14, or even 28.
I think my life is the same. Although many choices are not suspenseful, the trajectory of life has too many unknowns. I often make choices based on my interests rather than utilitarian gains and losses, the so-called follow my heart.
21 years ago, 2001, third grade in elementary school
I didn’t go to the first grade, I skipped directly to the second grade. At first, the principal did not agree to skip grades. My grandmother said that I had learned all the knowledge of the first grade. The principal said that let him do the first-grade exam. If he could answer it, let him skip grades. As a result, I scored full marks in the first grade, and the principal let me do the second grade. I only got one question wrong in the second grade. The principal said, why not go directly to the third grade. My grandmother said, forget it, the child’s mind is not mature yet, I’m afraid of being bullied by classmates in the third grade, let’s go to the second grade.
In 2001, I just started learning Olympiad mathematics. Although I learned to recognize words and do arithmetic problems earlier when I was a child, there are so-called prodigies everywhere in the Olympiad class. Some prodigies are even better than me, and some prodigies are not only good at learning, but also versatile. I only learned accordion and painting when I was very young, and later gave way to Olympiad mathematics. The accordion that cost more than three thousand yuan also became a decoration. With so many prodigies, no one knows who can learn the best, this is the most uncertain time.
14 years ago, 2008, first year of high school
If I made a choice earlier in math competitions and computer competitions, concentrated on one competition, I might have won a national gold medal, and then went to Tsinghua and Peking University. But I am not just utilitarian to learn competitions for awards, because both mathematics and computers are my loves, I can’t give up any of them, this is not a love affair, many people must be as pure as snow on the mountain, as bright as the moon between the clouds. As mentioned earlier, during the competition, I also made websites and wrote articles. I really regarded the competition as a hobby.
In 2010, in the third year of high school, if I knew that my future interest would shift from mathematics to computers, I might choose Shanghai Jiaotong University instead of USTC. If I had been studying computer science from the beginning, would I continue to participate in the ACM competition, would I start a business with my classmates from Shanghai Jiaotong University, or would I go abroad to study for a doctorate? These are all unknown.
7 years ago, 2015, first year of graduate school
In Hefei, we are developing the USTC course evaluation community in the dormitory, LUG activity room, and Shao Yuan computer room, and it is about to go online. This is also the amateur project I have devoted the most effort to. So far, I may have spent nearly 1000 hours on development and maintenance. I have 552 commits and tens of thousands of lines of code. As a comparison, each of my top conference papers from research, topic selection, design, implementation to writing and submission, personally takes about 2000 hours. Of course, this does not include the time of other members in the research team, but other members of the course evaluation community team also spent a lot of time. The other amateur projects I did in LUG, such as Freeshell, Blog, VPN, also took hundreds of hours, but I stopped maintaining them after leaving school, so each project may not spend as much time as the course evaluation community. I didn’t expect that 7 years later, the course evaluation community would have such a big influence, which is also the motivation for us to keep maintaining. If it was promoted to major universities across the country at that time, it might make us freelancers, using the course evaluation community as an amateur project that can support ourselves, or even become the main business.
In Beijing, Tan Bo’s ClickNP project has been conceived and will officially start when I come to MSRA in July. This project concentrates the elite forces of the entire group, and also has the blessing of Microsoft FPGA as a big background. According to Tan Bo, if this paper can’t be accepted, he doesn’t know what kind of paper can be. Therefore, although I hadn’t started my PhD at that time, it was highly probable that my PhD would go smoothly.
How many black swans will there be in the future?
In the past few decades, the international and domestic environment has been calm, and the Internet industry has been advancing all the way. Almost every leading company and unicorn has expected exponential growth. But many people ignore that the peaceful and prosperous times only account for a very small part of history. In recent years, changes in the domestic political environment and Sino-US relations have had far-reaching effects, and the fall of Chinese concept stocks is just the tip of the iceberg. The epidemic that started in 2020 is a black swan event. With the non-directional mutation of the virus, it may even become a “great filter”. Therefore, the stability of “Plan A” and the feasibility of “Plan B” are particularly important at present.
I have always had a strong sense of crisis. Long before the epidemic started, I had stored enough military food at home to eat for a month, including compressed biscuits and self-heating food, canned food, etc. Even in extreme situations like the lockdown of Shanghai, I might not be able to eat fresh vegetables, but I would not run out of food. In addition, in addition to traditional cloud disk backup, I also backup key data on CDs, which are placed in my own home and my old home. Although the update frequency is not high (when I go back to my hometown) and the storage life is limited, it can have a certain disaster recovery effect.
The chaotic and unknown world is like the sky covering Truman’s head. When Truman tries to challenge the rules of this illusory world, the whole world is against him. However, the birds in the forest can’t be kept after all, and Truman bravely chose the truth.