On becoming a researcher

I remember the first semester I joined THE Ohio State University as a graduate student, Spring 1998. I had taken Anish Arora's class on distributed systems, and I fell in love with distributed algorithms. The emergence of order out of chaotic (distributed/concurrent) execution was intellectually challenging and was very exciting to me. The way Anish taught was also very engaging, and I got drawn into trying the algorithms he mentioned in the class. He taught about the Dijkstra-Safra algorithm which performed termination detection in a ring with 3 rotations of the token. I thought it should be possible to improve on the 3 rounds required for completion, if we kept track of more information at the token. I mentioned this to Anish after the class, and he told me to give it a try. I started working on it. I was also taking English as A Second Language writing class that semester. So I wrote a technical report on this improved version of the Termination Detection algorithm. (We ended up not publishing the paper because we thought there wasn't much practical interest in the algorithm. However, the technical report got cited several times, and I still get occasional emails about it.)

Twenty years later, I still remember the kick I got out of working on that improved algorithm. I would work in the library: failing, succeeding, then realizing that this didn't work either, and fixing it. It was the first time I experienced the highs and lows of research. Little did I know then, that I would be repeating these cycles many many many times in the remaining of my career. When you are researching on a novel idea, you start pretty much afresh every time. You think you get it, then you lose it, then you get it again, and lose it again. The idea you think is so novel looks straightforward/trivial and worse broken next week.

As you become a seasoned researcher, you still experience these things, but you also get wiser. Since you know about these cycles, you will feel less panicked when you think all is lost. But the joy you get when you discover something new doesn't get old. I still experience this with the same intensity after 20 years. And I saw this joy in the eyes of researchers that are 40 years in the field. They still get starry-eyed and excited when they find a new research question or insight. The joy of figuring things out never gets old.

As far as research is concerned the titles are meaningless. What you do matters more than what you call yourself. If you are doing research, you are a researcher. You don't need any other title. You need curiosity, tenacity, and hard working.

How do you get started? You start by reading things you don't understand. You read more and more papers on a topic, underlining things, and figuring out them by thinking and obsessing about them. When you start to understand, you start to be able to criticize and analyze these work better. Then you start identifying gaps, and you begin to address them. Then you find one particular tasty problem, you wrestle with it for days and weeks. You will go through the ups and downs many times. And that is how you do research.

Matt Might's illustrated guide to PhD explains this last point nicely.

And here is some more advice from me to beginning PhD students.


Popular posts from this blog

Graviton2 and Graviton3

Foundational distributed systems papers

Learning a technical subject

Learning about distributed systems: where to start?

Strict-serializability, but at what cost, for what purpose?

CockroachDB: The Resilient Geo-Distributed SQL Database

Amazon Aurora: Design Considerations + On Avoiding Distributed Consensus for I/Os, Commits, and Membership Changes

Warp: Lightweight Multi-Key Transactions for Key-Value Stores

Anna: A Key-Value Store For Any Scale

Your attitude determines your success