How to Take Better Technical Notes
March 25, 2026
In many jobs, once you learn a skill, you may not need to update it often. Software engineering is different. Most engineers need to keep learning as technology evolves throughout their careers, and sometimes create new knowledge themselves.
As with any kind of learning, hands-on practice matters, but taking notes during the process also makes a real difference. People in the industry, including OpenAI CEO Sam Altman and Amazon CTO Werner Vogels, have publicly shared how they take notes. In this article, we combine those perspectives with ExplainThis team experience to discuss how software engineers can take technical notes more effectively.
We are not covering tool usage for apps like Notion, Obsidian, or Heptabase. Instead, we focus on note-taking principles and methods that work regardless of your tool. One important clarification: while this article is about note-taking, the deeper topic is how to think and learn through notes.
Don’t Just Store and Retrieve
A common mistake in note-taking is treating notes as pure storage and retrieval. Werner Vogels once shared that when he was in elementary school, he wrote down his teachers' words verbatim and reviewed those notes before exams. He compared that approach to AWS S3: it stores data and returns it unchanged.
He argues this is not ideal. Storage and retrieval alone may help memory, but they do not guarantee understanding. Effective note-taking is about understanding and output. This is not just one person’s opinion. Research by Princeton social psychologist Pam Mueller found that simple transcription has limited impact on long-term learning and retention (link).
This pattern is also common in traditional Asian education. In Taiwan, for example, it is common for teachers to write on the board and ask students to copy it. But that kind of direct copying is often less effective. If your current habit is to capture information verbatim or copy and paste it into a notes app, this is the first habit to change.
Note-Taking Is a Thinking Process
If simple storage and retrieval are not enough, what does effective note-taking look like?
As mentioned earlier, note-taking is a process of thinking and learning. A useful mental model is to treat it like a function: your input is what you read or hear, and your output is what comes out after processing it through your own notes. If output equals input, the function did almost nothing. Notes work the same way. Effective notes should differ from source material, and that difference comes from your own reasoning.
Sam Altman has also described note-taking as a thinking process (link). Put differently: even as the CEO of one of the most advanced AI companies, and even after building products like ChatGPT that can generate large amounts of text, he still believes note-taking will not disappear as long as thinking itself is still required.
So instead of copy-paste note-taking, a better check is: how much of this note reflects my own thinking? How much is written in my own words? Even when the topic is the same, rewriting ideas in your own language usually deepens your understanding.
The next question is practical: how can you think through notes in a way that leads to deeper learning? Let’s walk through two concrete methods.
The Cornell Method
The first method is the Cornell Method, which Werner Vogels has recommended.
The Cornell format splits a page into three sections (see the Cornell University teaching video image below): the left cue column for questions, the right notes column for information you learn, and the bottom summary section for your distilled conclusion.

Use Questions and Reflection While Taking Notes
From our own use of the Cornell Method, the most important part is the question column. Many people write notes and questions at the same time, but a stronger approach is to write questions before taking any notes. Define what you want to understand before reading an article or watching a talk. Then, before consuming the material, write your current understanding of those questions in the right column.
Only after those two prep steps should you start reading or listening. As you go, revise the right column and update your understanding.
For example, before watching What Does Low Coupling Mean, and Why Does It Matter?, you can write questions like: What is low coupling? Why does it improve maintainability? How can we reduce coupling in code? Then try answering from your current knowledge first. Do the thinking before looking at the full explanation.
As you learn, add new points you did not know before, such as using dependency injection to reduce coupling. After finishing, write a concise bottom summary of what you now understand, plus any new insights.
This is very similar to how we recommend practicing coding problems. With LeetCode and similar data-structure and algorithm exercises, do not jump to the solution immediately, even for unfamiliar problems. Try solving first, and only check hints or solutions when you are truly stuck.
Even then, do not read the full solution in one pass. Read part of it, then attempt the full solution yourself. While reviewing, explicitly record what was genuinely new to you. That mirrors the Cornell summary section.
Support ExplainThis
If you found this content helpful, please consider supporting our work with a one-time donation of whatever amount feels right to you through this Buy Me a Coffee page.
Creating in-depth technical content takes significant time. Your support helps us continue producing high-quality educational content accessible to everyone.