My Year at MSRA
One afternoon in May 2013, Room 5005 of the Physics and Chemistry Building. I was holding Senior He Yu’s phone, calling Lu Yuanwei, who was in a joint training program at MSRA. Maybe I was too nervous; after the call, both the screen and my hand were covered in sweat. A few days earlier, I received a notification: I was admitted to the MSRA joint training program. I replied that I was working on a startup project and might not have time to go. Microsoft urged me to make a decision quickly. I originally wanted to decline on my own, but I thought I should listen to Boss He’s opinion.
Background: The joint training program between USTC and MSRA opens for applications every April. After resume screening and interviews, about 18 people are admitted. They intern at MSRA for their senior year, and their thesis is also done at MSRA. Among these 18 spots, 14 are for those who will continue their studies domestically, and the remaining 4 are for those going abroad or seeking employment. After two months of internship, around early September, about 7 out of the 14 will be selected to stay for a Ph.D., while the rest return to school for their master’s. The so-called joint training Ph.D. means the first year is spent taking classes at USTC, and the next four years are spent doing research at MSRA, ultimately earning a degree from USTC (so we are genuine USTC graduate students, not trainees).
Both Lu Yuanwei and Senior He Yu said it was a good opportunity and suggested I consider it carefully. I thought I would intern for a summer first, see how it goes, and then decide.
At that time, I was deeply influenced by the culture of Linux and free software and had quite a few prejudices against Microsoft. When HR called to confirm my “start date,” I asked why it was called “start date.” Only then did I realize I was going as an intern for joint training, and it felt awkward to become an employee of a company I didn’t like at the time.
Wealthy and Willful
On the first day at the company, I felt the opulence of the M$ office building. In such a prime location in Zhongguancun, there was a large garden between two office buildings, connected by a sky bridge.
The 12 elevators in the lobby were dazzling, with 6 on each side, east and west. I had never seen so many elevators before. The building also had a powerful air purification system, with signs on the first floor boasting about the difference in PM 2.5 levels inside and outside.
The 12th to 14th floors were the Microsoft Research Asia. From the sky garden, you could see the lush garden, Peking University’s Boya Tower, Sina’s big eye, and China Putian’s flashing neon lights.
After a simple onboarding training in the morning, we went to the company cafeteria, which was much better than the school cafeteria, and then excitedly experienced the new high-spec personal computers issued to us.
The computer issued when I rejoined in July 2014: Core i7 4770 + 16G RAM + 256G SSD + 2T HDD
No Need to Clock In
At 4 PM, the big boss Yongguang introduced the team members and the research overview of the network field and assigned us mentors. The first time I met my mentor Kun, he enthusiastically chatted with me for over an hour, giving me five papers in one go, and we talked until 6:30 PM.
Our group’s homepage: http://research.microsoft.com/en-us/groups/wn/
When I walked out of Kun’s office, it was already half an hour past the end of the workday. I felt a bit embarrassed, but later I found out that colleagues rarely went home at the normal end of the workday. Although the company did not encourage overtime and did not require clocking in, our interest and enthusiasm kept us working until we finished reading a paper, setting up an experimental machine, or writing a piece of code before going to rest.
That evening, after having dinner at the company (complaint: the variety and quality of dinner were not as good as lunch), I went back to the hotel to tidy up my things and then continued my habit from school of “self-study” at the company. The workspace was always full until 9 PM when colleagues gradually went home. I followed suit and returned to my accommodation, finding that my roommate and fellow USTC students had already come back. However, I felt that the company’s chairs, computers, and monitors were much better than the hotel’s and my own laptop, so I got used to working at the company in the evening and only played with my phone, took a shower, and slept when I got back.
Although entering the office required passing through two security gates, the company did not use card swipes for attendance. Initially, I wondered if this would lead to employees coming in late and leaving early. Later, I found out that while coming in late was possible, leaving early was not. Although the official start time was 9 AM, night owl coders often just woke up or were still asleep at that time. At 10 AM, when we rubbed our sleepy eyes and walked into the company, munching on various snacks and drinks from the pantry to fill our stomachs, the sound of keyboards in the intern work area gradually became lively.
From 10 AM to 9 PM, even with two meals and a fruit break at 3 PM (the pantry provided free fruit, but often, when we went there after getting engrossed in reading papers or writing code, only fruit peels were left), we still worked for eight hours. The research institute did not need to use clocking in and attendance to constrain employees but used passion and atmosphere to motivate them.
On weekends, most full-time employees went home, but interns often went to the company. Although there were no more drinks and fruit, the 24-hour freshly ground coffee, quiet work environment, lush garden outside the window, and most importantly, the unobstructed international network made us willing to spend a fulfilling weekend at the company.
English is No Longer Mysterious
The company had a powerful instant messaging system called Lync. Actually, this component was already in Office, but I had never opened it before going to Microsoft. In Lync (or Outlook), you could search for any employee’s supervisor, subordinates, and colleagues. We loved doing two things:
(1) Checking if others’ statuses were “green” (online) and competing to see who stayed at the company the longest. Later, we found out that Lync could be logged in from outside the company network, so judging whether someone was at the company based on Lync status was no longer accurate. (2) Tracing from our boss, our boss’s boss, all the way up to Steve Ballmer. Those legendary Turing Award winners, technical giants like Dave Cutler, Mark Russinovich, Zou Xin, and the often-mentioned Dr. Zhang Yaqin from the Youth Class, were just a click away.
The company computers came pre-installed with English Windows 8 (2013), without even a Chinese input method. As newcomers, we didn’t dare to install software randomly. A few days later, during IT department training, we learned that we could install the Bing input method, and finally, we could speak in Chinese. However, whenever I spoke to my boss in Chinese on Lync, he would reply in English, making me feel embarrassed. So later, I forced myself to use broken English for online communication.
The company practiced networked and globalized office work. Except for onboarding and offboarding, I never saw anyone running around the building with application forms. The internal phone system, phone, and online technical support system were all in English. Due to unfamiliarity with English, when I first sought IT support on the 14th floor, I physically went to the 12th-floor IT department, only to be told to call the internal phone or send an email instead of coming directly. Later, I gradually realized the efficiency of this remote working method: phone calls were routed to available staff, emails could be processed asynchronously, and IT personnel wouldn’t be interrupted by people seeking help on-site, allowing them to focus on one task at a time. Those needing help could also stay at their workstations and do other things, saving the time spent waiting in line.
In a multinational company, you always have to communicate with foreigners. When calling internal technical support, the prompt was in English, and occasionally, the call would be routed abroad, requiring you to explain the issue to a foreigner. My first English phone call was to request a desk lamp. It took me a minute or two just to report my alias (username) at the company. Due to unfamiliarity with the company’s internal address naming, I spent a lot of effort explaining my workstation location. The final work order generated said “Require bulb on lamp to be replaced,” but I didn’t even have a desk lamp on my desk…
The second English phone call was with Verisign to verify my registration information and receive the password over the phone. I learned how foreigners read passwords that look like random strings, saying things like “a for apple, b for banana, c for carrot.” However, when I tried to imitate this once, I couldn’t think of a word starting with “v” and was stuck for a long time, which was quite embarrassing.
Another memorable English phone call was with Broadcom, dialing their conference call system number for a remote meeting. After connecting, the prompt kept saying, “Enter conference ID, followed by pound.” What was “pound”? My classmates and I were clueless. After consulting a search engine, we learned it was the # key, which had several English names.
Although there were no foreigners in my group, foreigners often came to give talks, and we occasionally attended. The large group meetings in the group, although all Chinese, were conducted entirely in English. I gave two English presentations in group meetings, and the feeling of being tongue-tied was really uncomfortable. Despite my listening and speaking skills still being poor, my grammar still being awkward, and my eyes still filled with unfamiliar words, these experiences of English communication at least made me not afraid of foreigners.
The Birth of Blog and LUG VPN
At MSRA, there was no shortage of academic giants and technical experts. Shortly after joining, two technical experts from IEG (Innovation Engineering Group, responsible for turning research results into products) shared their legendary experiences with us. One was the famous “Wheel Brother” vczh on Zhihu (one of the “Three Masters of Wen Zhao Lun”), and the other was the well-known blogger of “The Louvre of C++,” pongba. In his talk, pongba extolled the various benefits of writing a technical blog. I had already seen these views in his blog post “Why You Should Start Blogging Now,” but this time I saw the real person. Encouraged by this talk, I really started writing a technical blog. Although my personal blog doesn’t have many readers yet, I feel that I have gained a lot from it, which is a story for another time.
Another feeling at MSRA is that accessing foreign websites is particularly fast and smooth. No matter what you download, as long as the file is slightly large, it can reach the speed limit of 1 MB/s. In fact, the company’s network is VPNed to foreign countries, and the IP address is also foreign. Thinking of my friends at USTC still living in the dire straits of the local network, I wanted to set up a VPN as smooth as the company’s network. During the Azure cloud technology training, I received a six-month Azure trial account, and I used it to set up the LUG VPN service. With repeated optimizations under the guidance of various experts, it achieved performance on foreign websites comparable to the company’s network and outperformed the company’s network on domestic websites.
The company also has many advanced systems that I hope to emulate, such as the employee management system (LDAP), templated emails, issue tracker, and telephone technical support system, but my abilities are limited. To borrow a slogan from Zhihu, MSRA made me “discover a bigger world.”
To Those Codes That Will Eventually Fade Away
In the onboarding preparation materials sent by HR, besides the confidentiality agreement and basic information registration form, there was the coding standard. Seeing so many standards for indentation, variable naming, etc., it felt like there were so many rules to follow when writing code at the company.
(To be continued)