The Hitchhiker's Guide to PingCAP
2020-03-02 00:00:00

a.k.a. My Intern Report for the First Month

Foreword

It’s been almost a month since I joined PingCAP as a Content Strategist intern, and that was truly a memorable month. That being said, oddly enough is that I only set foot in the PingCAP Beijing office for once, on my intern interview. Up till now, when I sit in my bedroom, scribbling down this blog post, I hadn’t had a second opportunity to re-visit that building, due to the coronavirus.

However, it was also during this nation-wide pandemic that I spent a meaningful month with PingCAP. Frankly speaking, to sum up everything I want to say in a single article is nearly impossible. But I must write something to mark this unusual month. If one single article cannot encapsulate it, how about a series of blog posts? After all, PingCAP has many well-written blog posts. As a newcomer, I also want to become a great blogger. That’s why I set up this blog.

So here it is, the first post on my fantastic journey with PingCAP.

How I met PingCAP

Coincidentally, it all began with a blog post.

On a late December night, when I was searching on the Internet about technical writing, an article about the process of technical writing popped up. It was useful and interesting. I devoured almost every post of that author in one setting, and then learned that she worked as a technical writer at a weirdly named company.

That seemed like a good chance for me. I happened to be looking for a job in the technical writing field for some time but found none. After a bit of asking around, a few exchanged emails, an onsite interview (more like career coaching), and a small written test, an intern offer was presented to me. And my journey started.

One-month experience

To begin with, PingCAP is an open source software company that focuses on building a distributed NewSQL database. My job is to produce a variety of documents that help both developers and users to better understand and utilize our products.

Like I said before, this journey is full of fantasized surprises. In this post, I’d like to talk about some general impressions I had during this month, and save the more specific experience for future posts.

Remote work culture

My journey set out unexpectedly. Being stuck at home by COVID-19, companies across China began practicing remote work. The employees of PingCAP in China also started remote work at home. However, one of the many features that set PingCAP apart from others is its innate remote work culture.

PingCAP has practiced remote work for 5 years. After telling me the possibility of remote onboard, a colleague from the Talent Strategy team shared with me a WeChat post: PingCAP’s 5-year Practice on Remote Work. The CTO of PingCAP explained in this post how PingCAP explored ways to make remote work possible.

As PingCAP is an open-source tech company, remote is by definition part of its built-in nature. They have hundreds of contributors and staff living and working across the world, which is an unparalleled edge in cultivating the remote culture.

But remote work can never be achieved without the support of the management. Reading that post, I was impressed by the trust PingCAP endowed with its employees and the genuine confidence hidden behind the screen.

Study comes first

On the afternoon of my onboarding day, my mentor had a quick meeting with me. We talked about the team architecture, the different roles everyone plays, and my primary goal in the first month.

To my surprise, my mentor Lilian asked me to concentrate on learning new stuff for the whole month. She would try to minimize my workload as much as possible so that I can spend more time studying on my own.

Therefore, I wasn’t assigned any project or task immediately. Actually, I wasn’t assigned any task for the first week. Instead, my mentor provided me with a whole bunch of learning resources.

In PingCAP, we have tons of internal documents that are well organized on a collaboration site. We have numerous lecture videos on the official website. We even have a GitHub repository that collects learning materials about databases. Also, everyone can add their preferred courses and books in this repository, just to return the favor.

Sometimes I read different guide books and familiarize myself with the standard work process as a technical writer; at other times I bury myself in the ocean of database. For the first half month, I received minor tasks from time to time, but they rarely got in my way of study.

Being able to learn things that I am interested in as long as I feel like to, and knowing that what I have learned will be put into practice in the foreseeable future, I feel from the bottom of my heart that everything I do here is meaningful.

Actually involved

For the first month of my internship (and perhaps the second month, judging from the status quo), my bedroom serves as my own office. However, I often have the feeling that I am working with other people in the same room.

One of the disadvantages of working from home, as people often complain about, is the sense of isolation. Without a usual workplace, people are prone to feel disconnected from the outside as well as from others. That is especially true in my case, who are new to this company and have never seen most of my colleagues.

But I didn’t feel that way. On the contrary, I feel actually involved in our team. Why is that? I believe the answer lies in our standup meeting.

Our team uses Slack as a message hub, which collects news and notifications from different sources. It also acts as a reminder for our daily briefing. Every evening the programmed robot reminds us to write down our work of that day and our plan for the next; when it finishes collecting our replies, the robot publishes the results. Everyone can see what other people are focusing on, what is our latest update, and what is our next step.

Even as a newcomer, I soon figure out who’s who in the team. Though we are separated across the country, it seems that we are sitting in the same room, and I can see everyone around me simply by turning around.

Sum up

On my first day here, my mentor told me about the values of our team: value, open, learn, and trust.

I’ve already had a little hands-on experience of some of them, and still exploring others. And I’m really looking forward to it.

Now I can’t help thinking of the famous line from the Hitchhiker’s Guide to the Galaxy. When Arthur, an ordinary human on the earth, suddenly began his journey to outer space, he felt confused and distressed. Then he was told, “don’t panic.”

After a month’s work at PingCAP, I can certainly relate to that. An entire galaxy is out there; why do I have to panic?

Afterword

A question has been bothering me since I first heard of PingCAP: what does PingCAP stand for?

I mentioned above that the word PingCAP sounded weird. At first, it didn’t make sense to me at all. I tried to understand it by splitting the word into two, and get Ping and CAP. Then what?

As a digital native, of course I know ping. It’s the command we use in computers to test whether a network host is available.

But why do we need to ping a cap? That confusion kept bothering me, until one day, when learning the database courses, I encountered the CAP theorem.

In computer science, the CAP theorem refers to the belief that no distributed database system can have all the three guarantees: Consistency, Availability, and Partition tolerance. These three qualities are known as CAP. To achieve all three of them in one database system is considered a mission impossible.

All of a sudden, the mystery reveals itself:

  • Ping is trying to figure out whether something is achievable;
  • CAP is the universally acknowledged three guarantees that cannot be achieved.
  • PingCAP, therefore, is a company that aims to build a database system that breaks the norms, that overthrows the cap others impose upon it, that makes the ultimate impossible possible.

This is what I think PingCAP stands for.