Read papers, Not too much, Mostly foundational ones

Here is my advice to people who want to develop competence and expertise in their fields.

Read papers

By papers, I mean technical research papers, not white papers or blog posts. 

By read, I mean read rigorously and critically

Not too much

If you read rigorously and critically, you cannot read too many papers. 

Moreover, learning by doing is the only way to internalize and grok a concept. If you read papers all day, you don't have time to try things yourself. 

If you are a PhD student, maybe read two or three papers a week (but, remember, rigorously and actively).

If you are not in academia, maybe read one paper a week or two.   

Mostly foundational ones

While there are exceptions, it is better to prioritize:

  • seminal work over incremental work,
  • general principled work over point-solutions,
  • work introducing techniques/tools over work applying techniques

A big exception is good expository papers. Unfortunately, the academia treats them as something the cat dragged in, because they are not "novel".


It is best if you can write a summary and review about the paper. This will help you improve your understanding of the concepts and hone your thinking, and will also help others studying on the topic. 

I have written a lot of summaries/reviews of distributed systems papers. But I haven't provided a list of foundational papers. I will work on that. 

It is useful to discuss the papers you read with a group to learn about diverse opinions and perspectives on the topic. 

Here is a link to Papers We Love forum where you can read and discuss papers with a group.

Finally, here is a link to our Zoom paper discussion group which meets every Wednesday at 3:30pm EST. 


Popular posts from this blog

The end of a myth: Distributed transactions can scale

Foundational distributed systems papers

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

Learning about distributed systems: where to start?

Speedy Transactions in Multicore In-Memory Databases

The Seattle Report on Database Research (2022)

Checking statistical properties of protocols using TLA+

Anna: A Key-Value Store For Any Scale

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

SQLite: Past, Present, and Future