How to Read a Technical Paper
Level up by diving into the weeds
If you taught yourself coding or attended a bootcamp, you may never have encountered a technical paper as you were learning. In the back of your mind, you know that there is a Computer Science discipline that people study in universities. But you’ve been focused on the practical — how to actually build stuff.
If you’re a software developer with a CS background, it may be a long time since you’ve dug in and read a technical paper. This is especially true if your work focuses on topics that are better covered by blogs and Twitter. There’s always other things to do than read dry, academic work.
Or maybe, as an interested person, you heard about the ‘Bitcoin Whitepaper’, and how it’s supposed to be an accessible, easy read. Upon finding it and opening it… 🤨. You recognize most of the words, but the sentences and paragraphs together don’t make sense.
You might have thought to yourself: “Am I too dumb to read technical papers?”.
No!
You can learn to read technical papers. Even if you haven’t studied in an academic setting, and even if you aren’t a practitioner, you can read and understand academic work and learn a lot along the way.
In this post, I’ll go over the benefits of reading technical papers, share some tips for reading and absorbing them, and share links to papers that I’ve enjoyed the most.
One Big Caveat
If you’re just getting started reading papers, remember: you aren’t the target audience that the author had in mind. The ‘normal’ readers for papers are other academics. They’ve been reading similar papers for years.
For that target audience, the paper is the next installment in a long-running story — you are starting in media res.
That means that papers are short, dense, and missing context. They focus on the new information that the authors are adding. If, unlike academics in the field, you aren’t immersed in the subject, the new contribution from a paper is just the tip of the iceberg.
On top of that audience-targeting issue, some papers are actually bad.
If you start reading a technical paper, you might feel confused. Don’t give up! Also — don’t stop reading all technical papers just because of one bad one.
Why read a technical paper?
If you aren’t the target audience, and reading a technical paper is hard, why do it at all?
There are lots of reasons, but three stand out: Context, Leveling Up, and Curiosity.
Context for news, trends, and problems
Reading technical papers can help orient you to the overall landscape in the field. If you know the big problems that people are working on, you can put news and trends into context.
Technical papers help set the stage for ongoing stories. Terms, topics, and whole fields like Machine Learning, Blockchain, and Big Data emerged from many years of work and research.
If you build up a paper reading habit, you can develop a keen sense of what constitutes a real breakthrough, and what’s just hype. If you keep at it, you can go from a passive consumer of tech news to a participant with a voice.
Advance your skills and level up
Everything in technology is built on top of the work of many others. No one can come up with all the answers. The deeper your understanding of the landscape of problems and solutions of others working in the field, the stronger your ability to recognize patterns and solve problems will be.
In terms of narrow self-interest, reading papers is impressive. Impressing people with the depth of your knowledge can help you advance your career, independent of whether it’s applicable to the product you are building. Please don’t use your knowledge to gatekeep or obfuscate.
In terms of broad, unselfish (but still concrete) motives, you can help others advance by making knowledge more widely accessible. You can draw knowledge from research to build robust, resilient, performant, and accessible products.
Personal curiosity
To a reporter’s question about why he robbed banks, bank robber Willie Sutton was reputed to have replied,
“Because that’s where the money is.”
(Note: This is disputed by Sutton, see Wikipedia for more).
If you are a curious person, you should read technical papers. That’s where the answers are!
What’s hard about reading Technical Papers?
Let’s break down some specific reasons why reading technical papers is hard, and address each one with tips and techniques that may help.
So, what makes reading technical papers hard? To me, there are two big challenges:
- It’s hard to find papers worth reading.
- Upon opening a paper, it’s hard to actually read it.
Digging a little more into the first problem:
It feels like there’s so much out there to learn. It’s hard to tell what actually matters to read.
The numbers bear out this fear — there are more papers published in each subfield than anyone can actually keep up with. See, for example, the past week of machine learning papers. At time of writing, 404 Machine Learning papers were published in the last week! Wow!
To make matters worse, lots of papers are published behind paywalls, and the tools for finding or curating papers are inadequate. Figuring out what papers to read is really, really hard.
What about when you actually find a paper to read?
Often, that pdf feels intimidating. Papers are filled with jargon and lacking in relevant context. The writing is dense and blocky. When the authors do use diagrams and formulas, the symbols don’t always make sense (and math symbols are super difficult to google). There’s pages of references, but chasing down those papers and reading them would take forever — and you might run into paywalls when you try. Argh!
I’ve closed many a tab feeling overwhelmed, frustrated, or bored, despite my excitement and good intentions when I open up a paper. Over time, I’ve gotten more strategic in the papers that I read. Now, I finish more of the papers that I start. It’s taken time, but I have more confidence that I can read and understand a piece of technical writing.
Here are some of the tips I’ve used, drawn from personal experience and from around the web.
Finding Papers to Read
Read clusters of papers
It’s easier to find and read papers that are related to each other. If you can find a topic that you are interested in, then you can explore the papers related to that topic, branching off from papers that you like or that you’re curious about.
As an initial step, you can drill into the Wikipedia pages around a topic to start building up a sense of the terms and jargon related to a topic. Wikipedia pages will sometimes link to papers, or give you key terms and authors to search for.
Once you have browsed Wikipedia and read a cluster of related pages, you can take your search terms and author names to Google Scholar.
Searching for general terms like ‘Machine Learning’ will turn up too many results to be particularly helpful — as noted above, there are actually too many papers published for broad terms to be very useful. Adding particular authors and more specific terms can help narrow down the results. So can searching for a particular paper directly, if you know its name.
As you read or scan papers, open up the papers listed in the citations or references section. If there are references that seem particularly interesting or relevant to you, check them out! While following citations takes a lot of time, it can help you find more great papers to read.
Conferences and Journals
The academic world has two main kinds of ‘official’ outlets for papers. Conferences are where researchers present and discuss their work, and journals publish papers periodically.
You do not need to attend a conference to learn from it!
Often, conferences will publish a schedule of papers and talks that will be presented, or they’ll publish versions of the papers themselves. Video, audio, and slides are also frequently posted online. If there’s a topic you’re interested in, scanning the titles and presenters of conference talks can give you a window into that field.
Journals serve a similar curation and filtering function. If you enjoy a paper, it may be worth your time to scan the titles of the other papers published in the same journal. They might provide context or offer different points of view.
If you aren’t an academic, you might not have access to journals and conferences themselves. That doesn’t mean that you can’t use them as clues to find topics that are interesting, or to find individual papers to read.
Getting recommendations
Often, recommendations from friends or people you follow online are a great source for interesting papers to read. Instead of filtering all the possible papers yourself, you can trust that someone else has identified and filtered for you.
Engaging your friends and your wider network in discussion about technical papers is also fun and reinforcing. People love to talk about what they’re interested in, studying, working on, or learned recently. Ask them!
Some questions to try:
- What papers would you recommend to someone just getting started reading about this topic?
- What are the big questions these papers are trying to solve?
- Who are some of the key researchers or research groups to read?
- How do you find papers to read?
These can often serve as a jumping off point for a larger discussion about the topic.
Getting Access to Papers
Many papers are locked behind a paywall. Or at least they look that way when you first find the link to them. Often, there’s a non-paywalled version hosted somewhere else online — either by the author or their institution, or on https://arxiv.org. If you can’t find a non-paywalled version, you can always try contacting the authors and requesting a copy (email and Twitter have worked in the past).
Skipping papers
Sometimes a paper isn’t interesting, accessible, or useful to you. That’s fine. You should skip it!
Skipping a paper doesn’t mean you are lazy or that you couldn’t tackle the paper if you set your mind to it. Not every paper is a good one for you to read.
Tips and Techniques for Reading Papers
Looking up vocabulary
Particularly when you are just getting started reading about a field, you’ll have a lot of conceptual holes in your understanding. That’s fine! Each term you don’t know is another sign that there’s something you’ll learn.
When you notice a term you don’t know, first notice that you don’t understand.
If you skip this step, you may find yourself at the end of the paper, eyes having scanned all the words, without actually ‘getting it’.
Next, look up the term. Usually, technical terms will have readable definitions among the top search results. If you find that you are getting irrelevant results, try adding more specific keywords to your search, to narrow down the results.
If you find that you have to pause to look up most of the terms and concepts in a paper, it’s a clue that you should take time to read up on the basics. Finding the key Wikipedia pages or searching for “beginners guide to X” can often lead to readable explanations of core concepts.
After you’ve demystified some of the jargon, you can return to the paper for a fresh read.
Even with a familiarity with the basics, you might find that you spend more time looking up vocabulary than actually reading the paper. You can still count that as a win! It means that you took an early step into territory previously unknown to you. Each subsequent step will be easier for it.
Three Pass Reading: Skim, Read, Summarize
There’s a lot of advice online about how to read academic papers. It mostly boils down to a step-by-step process for reading a paper: Skim, then Read, then Summarize.
Skim
In the first step, you are just picking up the surface details of the paper, and trying to get a big-picture sense of what the paper is about. Your focus might be on the introduction, the abstract, and the conclusion.
Read
On your second pass, you are actually reading the paper through, trying to understand each sentence. Pay close attention to the graphs, equations, and proofs. This may require moving back and forth between the text and the insets — sometimes the two only make sense with each other in mind.
As you read, engage with the key points. Try to be critical! What might be wrong with the author’s argument? How did they actually reach the conclusion that they did? Take notes as you read, especially marking questions you have or writing your own explanations for paragraphs and sections.
This step is where you may need to slow down and look up terminology. It may be super time-consuming! You might find this HuffPost article on how slowing down and focusing on understanding can change your experience of reading papers.
Summarize
When you finish your deep read of the paper, you should pull together all your notes and try to explain what the whole paper was about.
This step is critical!
If you can explain a paper, then you know for sure that you have actually learned what was in the paper. Summarizing is hard, but when implemented correctly, it’s demonstrated to help with both understanding and retention and has other knock-on benefits besides.
Your summary can be a reference for yourself, a tool to help others learn content, and a starting point for conversation with others about a paper.
In general, if you summarize a paper, you are really likely to have actually learned something, and not stopped at scanning.
For more on paper reading steps:
- This infographic from Elsevier is a handy reference. It calls the steps Skim, Re-read, Interpret, Summarize.
- This guide to efficient reading from Columbia has a ton of good suggestions for reading effectively.
Make it Social
When you learn with others, you inevitably make your learning deeper and richer. Talking with others about what you learn helps you engage with each idea. If you think there’s something particularly surprising, do others also find it surprising? If there’s something you think is wrong, do others also think it’s wrong, or do they have a different perspective?
There are lots of ways to incorporate others into your learning, so you should find the tactics that make sense for you. Some ideas that you might consider:
- Start a Paper Reading club. (Think a book club, but for papers instead of books.)
- Discuss on social media. (I like Twitter, but anywhere you are engaging with others works!)
- Share the main ideas with friends who aren’t familiar with the topic. (This is also a great way to check on your own understanding and summarization skills)
- Keep a blog where you share your summaries and notes. (Mine is here!)
Build a Paper Reading Habit
Building your ‘muscle’ for reading difficult papers takes time. Whether it’s when you are reading a particular paper, or whether you are thinking about paper reading overall, remember to be patient with yourself.
Other tips that can help build and reinforce your paper reading habit:
Make regular time for paper reading
Even if you don’t make it through a whole paper in each sitting, if you keep at it, you’ll eventually make it through.
Get accountable
If you tell your friends to check in with you about the papers you’re reading, that commitment might help remind and motivate you.
Share and celebrate
When you learn something new, that’s a win. Sharing that with others and celebrating your work to understand can help reinforce your learning and the paper reading habit.
Favorites and Recommended Reading
A paper reading habit automatically, over email
The Morning Paper sends a daily paper summary right to your inbox. Some of the summaries may be confusing (especially at first). With a daily chance to read a paper, you can start to build your sense of what’s out there to read, and pick and choose which papers to read deeply.
The Morning Paper summaries are also more accessible writing than the papers themselves, and a demonstration of how to summarize effectively. As you work on your summarization skills, these are a helpful examples of what you can aim for.
Some recommendations that aren’t papers
If you’d like a smooth on-ramp to reading technical papers, you might enjoy these technical blog posts and videos.
- Introduction to the A* Algorithm is one of many great visual explanations from Red Blob Games with clear, in-context demonstrations of algorithms.
- Jepsen: On the Perils of Network Partitions is a great series on the CAP theorem, with example code and practical demonstrations of what’s discussed.
- The future of computing: a conversation with John Hennessy (Google I/O ’18) — this is a YouTube video about fundamental computer hardware and architecture trends. There’s lots of jargon, so use the skills and techniques listed above — pause the video to look up terms!
Papers I’ve enjoyed
Some papers I’ve found interesting from different eras and across different topics, that you might use as a jumping off point into reading technical papers across a range of subjects.
- In A Note on Two Problems in Connexion with Graphs (1959), E.W. Dijkstra introduces his namesake uniform cost search algorithm. The paper is only two pages, but it’s still a bit tricky to read. I like reading it along with other explanations of the algorithm (like the one from Red Blob Games linked above). If you enjoy this, you might like other seminal papers from the early history of computing like Alonzo Church’s An Unsolvable Problem of Elementary Number Theory (1936) or Alan Turing’s On Computable Numbers, With An Application To The Entscheidungsproblem (1936). It’s amazing to read about computers before computers were even around!
- If you’re curious about how computer hardware sets the context for modern computing, you can read Dark Silicon and the End of Multicore Scaling (2011) and The Rise and Fall of Dark Silicon (2012). They are slightly more in-depth papers on the same topics as the Google I/O keynote from John Hennessy linked above.
- Parallel computing is a hot topic, and McSherry, Isard, and Murray’s irreverent Scalability! But at what COST? tries to tamp down on some of the hyperbolic hot takes with a dose of humor. It’s a great (and funny and readable) exploration of the real-world performance of a lot of modern systems.
- If you’re on the bitcoin / blockchain hype train (or if you’re just curious), then you should take a shot at the Bitcoin Whitepaper — Bitcoin: A Peer-to-Peer Electronic Cash System. It’s pretty cool, and if you use the techniques above, it might live up to its reputation as a readable introduction to a complex technology.
- Lately, I’ve been trying to wrap my head around the CAP theorem — one of the core theoretical constraints on modern web systems that run on lots of computers. Gilbert and Lynch’s proof of the CAP theorem in their paper Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-tolerant Web Services is a good introduction to the topic (as is the Jepsen series linked above!). There are a ton of interesting papers and blogs about the CAP theorem and distributed computing. I love the Raft Consensus Algorithm site — the visualization makes the system easier to understand. Right now, I’m trying to make sense of A Generalised Solution to Distributed Consensus from Heidi Howard, which seems like it’s bound to be super cool, as soon as I can figure out what it means.
- I’ve also been reading papers about how people learn to code, and for those, I’ve been posting summaries to my blog. A recent favorite: A Theory Of Instruction For Introductory Programming Skills (2019). There’s great academic papers about all kinds of subjects — not just computer science!
Good luck finding and reading technical papers! If you find this post helpful, I’d love to hear from you, especially if you have a paper summary to share!
Thanks for reading! Want to work on a mission-driven team that loves learning deeply? We’re hiring!
To learn more about Flatiron School, visit the website, follow us on Facebook and Twitter, and visit us at upcoming events near you.
Flatiron School is a proud member of the WeWork family. Check out our sister technology blogs WeWork Technology and Making Meetup.