That's not to say I don't also use debuggers when necessary, I just reserve those for very hairy problems that can't be solved any other way, e.g. stepping into dependencies. Let's not forget that debuggers have their limitations too, e.g. release build GC optimization (or indeed any release-only bug), and any init process where you have to attach the debugger after the startup, fundamentally cannot be debugged using debuggers.
Linus Torvalds:
> I don't like debuggers. Never have, probably never will. I use gdb all the time, but I tend to use it not as a debugger, but as a disassembler on steroids that you can program.
> I don't think kernel development should be "easy". I do not condone single-stepping through code to find the bug. I do not think that extra visibility into the system is necessarily a good thing.
> Oh. And sure, when things crash and you fsck and you didn't even get a clue about what went wrong, you get frustrated. Tough. There are two kinds of reactions to that: you start being careful, or you start whining about a kernel debugger.
> I happen to believe that not having a kernel debugger forces people to think about their problem on a different level than with a debugger. I think that without a debugger, you don't get into that mindset where you know how it behaves, and then you fix it from there. Without a debugger, you tend to think about problems another way. You want to understand things on a different _level_.
https://lkml.org/lkml/2000/9/6/65
And I agree. At least for me, print debugging goes a long way, and I'm already invested in building mental models about code. I think using a proper debugger has to be the last resort, because nothing else works and it's time to get into the ugly details. Two valuable avenues for producing good code are formal verification (and its ilk, such as specification) and horse sense/common sense, which combine to say that we should have rigorous mental models that impose on our code. That's the primary objective, to me. The use of tools such as debuggers is secondary, and in my experience, largely neutral or harmful. There's the classic caveat of "if your goal is to ship code fast, then this isn't practical", which is fair, but I have some things to say about shucking off that culture.
But perhaps it's a lack of knowing what a debugger can deliver.
A debugger gives you the ability to immediately dive in and instantly inspect the complete stack trace, all the values on the stack, all the values of local variables, etc. Without restarting the program or calling out specifically what you're going to want to inspect ahead of time.
A debugger will "pause the world" and let you see all the parallel stacks.
A debugger will let you set conditional breakpoints. If you need to debug the conditions for when a variable gets set to a particular value, a conditional breakpoint on the variable set to break when it's set to that particular value makes that a doddle.
A debugger will let you enumerate collections and re-write values on the fly.
A debugger will let you break on exceptions, even ones normally caught and handled.
A debugger can launch and attach itself.
All of that is a massive force-multiplier and time-saver, which print debugging doesn't deliver.
I use my debugger often, but sometimes you need to track the value of something over time (say, over 1000 iterations) and a debugger can't show you that.
So prints are still relevant. Debugger are more for "needle-in-haystack" stuff I think.
A debugger that could record the execution over time (and query that execution), that would be great. I know there are some, but are there for python for example ?
Do you mind providing examples? I’m not sure what I would search to find that and I’m interested in the idea.
Admittedly, I mostly develop with sbcl and slime, so the judiciously place 'break' statement brings you to a stack trace.
Also with sbcl/slime, you can do ESC-. on a function and go to the actual source, even deep within the core of sbcl itself.
Nonetheless, I mostly depend on logging statements and print statements. When I need to go to python, print statements give most of what I need.
You can design a house on paper, but you need e.g. mallets and wheelbarrows to build it; you can design software with "tools for thought", more or less computerized, but you need the automation offered by CI, version control etc. to handle the more concrete aspects properly.
I love "This isn't craftsmanship cosplay, it's software engineering.". I will definitely steal this, let me put it in my notebook.
But the sentiment holds true. When you're building software designing good code is the most fundamentally important aspect of your job. All the tools you mention are things that enable you to delivery that code, but if the design of the code itself is wrong then they mean very little. The process of designing code feels like a lost art these days; developers are far too happy to throw crap at a wall until enough of it sticks to pass the acceptance criteria. Going back to actually working out the logic and flow of the code (on paper, in a diagramming app, whatever) is missing for a vast amount of the dev community.
If people were happy to work through the logic of a feature before hitting their IDE and debugging the first thing they code up, maybe apps would be a bit less buggy.
Although I would agree that we have more modern tools, I'm not sure they're better along every dimension: pen and paper is better for memory retention than typing. Also, while YMMV, oen and paper works wonders for brainstorming for me.
Though admittedly search is easier with digital tools.
I throw away almost all my handwritten notes, because of the downsides: illegibility, unsearchability, physical bulk.
But the qualitative difference of thinking or reading +/- handwriting is huge. I don’t get caught up in editing. I can draw diagrams easily. It slows me down, makes me dwell on an idea while I’m writing it, and thereby physically calibrates my thought process.
So far, I haven't found tools that beat pen and paper as tools for thinking _for me_.
I still do write a lot of digital notes too but I find that the flexibility of pen and paper — not to mention never having to worry about running out of battery compared to tablets or similar — crucial benefit.
Digital tools might result in better outputs but that's not what my notes are for. I prioritise minimising the friction that's between my thoughts and getting them on paper. On digital, I'm either limited by structure (f.ex. a Markdown file is limited by text being forced into lines) or having to change between tools when I want to jot down something in different format (text, circles, rectangles, arrows, whatever). It's a very small amount of work to switch between them but it cuts my thought because I need to think about the tools.
Pen and paper is the most direct connection my brain I've found.
I iterate faster, have more freedom and information is displayed and manipulated in a more ergonomic way to me on a computer, in such a way that it creates a symbiotic relationship. I severely doubt physical notetaking and brainstorming could ever compare
? It's the (mostly anonymous) internet and not linkedin. People call these things out all the time?
And even writing software I often make toss-away paper sketches; they help me see things in a way that make sense to me. Not replacing a computer, but complementing it. I would not push my method on everyone but it works for me. I also think similar techniques are fairly common. People discuss ideas verbally. They take walks to let brain take a different view, etc. My 2c.
Plenty of the research is online for you to answer your own question.
I'm personally not a fan of pen and paper, I find it to not scale, I often change devices or I'm on the move, so I rely mostly on note apps (mostly Notion).
For people with higher confidence, those of us who have been around the block a few times, the article is correct. The supporting tools you mention are beneficial, but they aren’t the most important tool. The most important tool is soft skills and taking notes.
The new stuff is often fast and many jobs need it by way of keeping up with the standard practices and creating a hiring filter, but it's a supplement, not a foundational tool for thought. It can't be all that important because it's constantly shifting.
Nice slap down.
Aaaa. I’d like to see stats over the comments—if management role, job history, age, income, education—and I’d expect opinions would be revealed as archetypical. In other words, it says more about the speaker than it says about successful software development.
Clearly the OP is talking about what works for them mentally—focus, creativity.
It’s a mistake for anyone to read a post like this and think of it (and the criticism) as prescriptive. Emulating any of the patterns would have the same result of cargo cult behavior.
For at least some people, stepping away from the keyboard may be the best way to do that thinking.
To put it in your own style: This isn't typing class, it's software engineering.
The tools you shared are of course important and I enjoy having them a lot. Wouldn't want to work as a developer without version control or debuggers, for sure. Those are tools that if I lost them, it surely would slow me down and be annoying.
I do truly consider notebook more important to me than those. Writing and running code is the tool to get things done but software development to me is more importantly building something valuable that solves problems or makes life easier. And to that, code is often somewhat trivial implementation detail — it's much more important to figure out what to build and how.
Some people are good at thinking when they are in a code editor or other digital tools. My brain goes into detail implementation mode and it's hard for me to see the big picture when I'm writing in code editor and building functionality.
For me, it's crucial part of my job to take my notebook and use it as a tool for thinking before (and during!) coding. While losing access to the other tools would definitely slow me down, not being able to think through writing with pen and paper would cripple my thinking, my problem solving ability, my creativity and thus cause me writing bad software.
Yes, but the post above is pointing out that you would be significantly slower without an IDE, compiler or debugger than you would be without a pen/paper. In fact, I don't think you would be a professional programmer if you didn't have them.
Saying you like a notebook and pen while designing and writing software is very different than saying a notebook and pen are more important than an IDE, compiler, or debugger.
Slower at creating what? With just great tooling there is still a real risk of creating the wrong thing just very fast.
OP's point is that it is a thinking tool more so than a creating tool.
This is a strange take. Programmers were around before any of those tools were. And today, even many professional programmers do their work without using any of them: they use text editors, they write interpreted languages, and they use printf()-debugging or other techniques.
Like a human brain? I'd say that is the programmer's most important tool, and it is not connected to electricity, an OS, or the internet.
When people criticize like that, you know you’re doing something right. “Only people doing less than you will criticize “
Keep it up!
I agree with parent comment of notebook and pen being pure romanticism. I mean, heck, I'd rate Obsidian or some other back linking note software as more important than a notebook and pen. A sticky note and pen would be even more important than a notebook and pen.
(Maybe it’s different in modern college classes now but wasn’t for decades.)
(Maybe it’s different in modern college classes now but wasn’t for decades.)
/Old enough to have heard, "OK, now put away your slide rules…"
"when building a house, obviously a hammer is more important than the _paper_ blueprints. This isn't art class, it's construction".
(when digital notes/digital blueprints are an available option)
Has a notebook or a whiteboard been handy at times? Of course. But the rubber meets the road behind the IDE, and the tooling there is the story of the day.
What kind of code do you work on?
I find notebooks useful all the time, but I write in C for embedded systems, so a lot of what I do involves setting up data structures, memory layout, etc.
Everyone’s different I guess, but for me I’ve never really reached much for a notebook. I just start writing code, refactor as needed, and rely on tooling from debugger/IDE/devtools when and where applicable.
In my now ~35 years of programming, I've found reaching for the notebook often saves me from needing to rely on a debugger unless it's code I inherited and didn't write myself. Even then, though, mapping it out on paper and using my pseudocode-shorthand to describe what the program does and what it intends to do is often faster than dealing with a debugger for anything but trivial bugs.
I’d go further to say that software development isn’t about writing code, it’s about designing and understanding programs. Code is an implementation detail, the understanding is what is crucial.
The difference between the blue collar machinist and the white collar engineer is exactly this view of the machines they use.
For an engineer a machine - be in a slide rule, calculator or super computer - is just a tool. You're not doing engineering because you're using the tool. You're doing engineering because you're thinking and the tool helps you think a bit faster.
For a machinist the machine is the job. You can't make widgets if you don't have a machine to make them on. Thinking about widgets is pointless because they don't get made by thinking.
Some of us who grew up in the 1970s and 1980s even used to "program" by handwriting code on paper as kind of a rough draft.
I did this particularly for systems I didn't have at home, like the Apple ][. I'd handwrite programs at home, then take it to school and type it into an Apple ][. This was somewhat common.
Pen and paper is more helpful when I'm trying to see how the solution I came up with fits into the code, at least for me. I can't visualize at all, so even basic things about how data flows will be helpful if I write them down. The more concrete I'm getting, the more I use pen and paper or text documents. Otherwise it's just give myself time to work through the code as I know it, thinking of things and discarding them quickly, and waiting for inspiration to strike.
But when I really need to think I upgrade to pen and paper.
https://hamatti.org/posts/how-i-take-work-notes-as-a-develop...
Multiplayer mind mapping; idea organization; clear understanding for all; fast reorg; sequential and/or parallel flows or concepts; etc etc.
The worst part is having large calls watch me misspell things and fumble to correct it on a shared screen.
I have seldom found personal notes from far in the past to be useful. If there's something worth noting down, then it goes into documentation, so others can stumble upon whatever quirk I've come across in the future. If there's something I really want to remember, I create flashcards and do spaced repetition until I've learned the thing. But that's just me, and I imagine my way doesn't work for a lot of people.
I think people are taking this post a little too personally and literally. This is a writer's piece. The title is meant to share a philosophy that this developer subscribes to. Nothing about it is declaring that others must subscribe to it as well.
If a pen and notebook don't work for you, then don't use it.
I personally find paper&pen both comforting and unsettling at the same time. Soothing because writing really helps sort out thoughts etc. Mindflow is different from flow "on the computer/phone/tablet".
On the other hand, it's distracting because without an index system (I start each notebook with two blank pages trying to index the contents; every other page has a number) it's easy to get lost.
But today's kids, being digital natives, may take a different approach. Paper&pen may present anxiety for them. So it very much depends on the family we grew up in.
What I do is write notes in the best format for paper: an append-only log with a date on top. Whether digitally or on paper, I rarely if at all need to consult notes from a long time ago, so the log is good enough for most use cases. In fact, as I mentioned elsewhere, writing by hand is not to store data, it’s a way to effectively digest information and incorporate it into your brain. You’ll get a lot of benefit of writing something and immediately throwing it away, so who cares about indexing it for later.
I use a smart pen that writes in a notebook, but also stores everything I write in memory. Every month or so I export the content of the pen to my computer via Bluetooth as OCRed PDFs. This is because my boss often asks me to account for time I spend doing different things, and I can quickly search the PDFs.
Here's one of the hundreds of articles about this, it's a very well documented phenomenon https://www.newscientist.com/article/2414241-writing-things-...
Writing by hand also has a greater effect than typing because it engages more of the senses and more of the brain, in particular the motor cortex.
I keep telling myself that this would all make a great excuse to get a Moleskine, but handwriting just isn't a part of my workflow. Typing copious amounts of stuff into text buffers and then transforming it is, especially now that we have LLMs. If my brain is totally non-functional I simply start typing barely intelligible phrases into a text editor until it wakes up, then I go back and edit/refactor/clean up, and frequently something comes out of this that looks like a vague outline of an email or piece of code I need to write that day. Or at least a todo list. Then we're off to the races doing actual work. Most of the initial doodling is destroyed.
Handwriting does aid retention though.
I guess we have a large enough population of people who’ve always taken notes on their computers that a natural experiment could have occurred. But I wonder about the crosstabs—computers can be very distracting so I wonder if people who prefer them to notebooks will also just tend to be more distracted.
You don’t need so much force to be applied to the pen compared to other writing instruments and the more comfortable writing experience helped my ADHD brain better tolerate it to.
Same, but I still keep them (both notebooks and random pieces of paper). I find it extremely satisfying to just look into them after many years. It's like looking at random old photos, photos of my thinking process from the past.
That's the most important takeaway from using pen(cil) and paper. If you can make it reusable for you great but the most important thing is physically writing it down.
I rarely, if ever, keep anything I have written down in the notebook. Eventually, I rip it out and shred it.
My point is that I'd view this behavior more as a consequence of the circumstances many scientists find themselves in rather than a conscious choice, though I do admit that some people may like it more than I do.
Occasionally i'll write something down that I know I'll forget for later reference and put a small post-it sticking out for easy access.
I periodically review the notes and summarize anything worth keeping into the appropriate system of record (calendar, tickets, wiki, spaced repetition, doesn't matter). Like you, I find that very little is actually worth keeping. And that's fine; the paper notes are not a system of record but more of an extension of working memory.
I am thinking about trying to do something with this like scanning for connections between notes or adding some tags to make ideas easier to find.
I used to do this very intentionally. In the past, I've found that taking notes is very valuable for me, but having notes seldom is.
When I was in school, I would write all my notes on a dry erase board and simply erase it when I had filled up the page. That was when I was studying things that were already known, though, so it was viable to, for reference material, just become skilled at referencing pre-existing reference material.
Now that I'm a professional and often working on something new or combining things in a new way, it's more often useful to me to generate new reference content for myself and especially for a different person who picks up the task on my day off.
Donald Knuth works that way. In fact, most such people tend to do most of their thinking on paper, making small changes to the problem state, verifying if it sticks, and is going where they want it going. Rollback, make a different change to the same thing, or same change to different things. This goes on over hundreds of pages.
One of the advanced user level performers don't tend to view stationary(especially paper) as something that must be rationed or spent with limits.
This helps with the search and copy issue of going physical. But writing things for your ongoing process / tasks makes you remember things so much better. Sometimes, all I have to do is write. I don't have refer them. But if I have to, I usually have a better sense of how I got to the end result cos I have the journey written down in my notebook. Also being a fountain pen lover helps.
You must choose one side or the other, and fully commit to it (like everyone else in this comment section). But it's too late now, since you've already tried both sides (fully digital and fully notebook) with an open mind, that means your opinion is automatically invalid and wrong.
Them's the rules.
I have aphantasia - I can't visualise/picture things in my mind, so I use pen and paper or whiteboards A LOT!
I create various ERDs, mind maps, sequence diagrams etc. I use a ReMarkable which makes it a bit easier to move stuff around and makes it more effective.
I get that some people might think it is 'pure romanticism', but pen and paper has been crucial for my success.
... then like magic, the code comes naturally (I'm guessing that's how normal people think when programming)!
Work In Progress
Endless printer paper or doted A4 paper (I love it). It is is the planing area of my brain. Some specific notes are kept for long term and re-used, which is seldom - this can (should) moved into a moleskin. Probably I should use the moleskin more? I need a pen or pencil, on paper to plan.
Long Term Storage
I don't use it to think. Mostly digital, Markdown. Stored on my filesystem, Git or IMAP. Avoiding all weird and soon defunct commercial things.
OP's post also references a similar post [0], but I am curious to hear from the people here.
[0] - https://hamatti.org/posts/how-i-take-work-notes-as-a-develop...
Nothing I have tried comes close. No iPad, writing code directly, talking it through, thinking it through, sketching it out on whatever drawing tool you might like. Pencil and paper are all I want.
Now, let's argue about our favourite colours and why teal is objectively the best.
OTOH if the plan is very simple and obvious, and can be drawn out in one go, it doesn't really need a diagram in the first place, so I skip spending time drawing the obvious stuff.
I don't often do very complex software plans like that. My working notes are often on a smaller scale like individual features or so. If we need to document the full architecture for the project, I'm happy to do that with digital tools.
But while I'm planning parts of it or designing it, I do better with pen and paper. My main issue with many of the digital tools I've tried comes down to the added friction if I need to switch to a different tool in the app when I switch between circles and rectangles and text and the fact that I find free-hand drawing with mouse really difficult.
> OTOH if the plan is very simple and obvious, and can be drawn out in one go, it doesn't really need a diagram in the first place, so I skip spending time drawing the obvious stuff.
I think there's a middle ground where it might be easy to draw on one go but deciding what to draw and how things work together and what's needed requires iterations and for that, thinking through drawing and writing helps me a ton.
I never use paper because I'm always moving these bullet points around and inserting stuff between them. Apps are too slow.
I never write down all the information because these notes are enough for me to reload everything. It's pretty easy to see that I didn't write something when there's a gap in my notes. I never wrote it down because I'm going to come up with the same or better solution quickly.
This isn't really helpful for anyone else and doesn't work well with pair programming.
I would like to explore using stuff like Zettlekastan note systems with emacs a bit more for actually holding onto a web of knowledge that I refer to. Though this is a different ends, and so requires a different means.
Before personal computers, I had the same experience at the typewriter. I find it very inhibiting to have a machine staring me in the face, waiting, while I try to be creative.
The author uses pen and paper because when they sit down at a computer they end up shifting to "function mode" where they're implementing rather than designing.
That's it.
The important takeaway is to make sure you don't fall into the trap of implementing when you should be designing. How you maintain that balance is up to you.
Exactly! So happy to read you managed to pick up the core gist of the story.
It's important to find the tools that work best for YOU.
I partially wanted to write this because I've often felt as an outsider in tech teams where everyone sits at a computer 7.5 hours every day and I'm the one thinking better when I'm away from the screen and keyboard. So I wanted to offer an example to those who are like me and also feel like they might not belong.
1). The available screen real estate for doing work is tiny.
2). The tools people use have happy paths that force you to work a specific way.
3). Deep thinking is impossible with interruptions.
As an example of a tool which works best on computers, I've finally recreated the literate environment I used at a previous job on my own time and from scratch: https://olive-alayne-28.tiiny.site/
I can now work happily with Emacs in an environment that supports deep thinking about code instead of fighting with it every step of the way.
If you're interested [1] and [3] from that paper are great introductions to literate programming and noweb + emacs + synctex is by far the most pleasant IDE I've ever used.
I also can't rave enough about how well pen tablets work with xournalpp these days. I can take notes on top of multi-thousand page printouts of code bases and rearrange, doodle, remix, and add new pages wherever I feel like. Even five years ago there was no tool that would let you do that without the threat of a major crash is you wrote too fast.
There’s a good insight in there about preserving your process of arriving at a conclusion, but it’s better done in obsidian or notion or something like that.
For example, I recently stopped coding all the time and picked up a new hobby at night, writing. That simple change gave my brain a reset and actually improved the performance during the day. Same goes for planning: switching from digital to pen and paper breaks the routine and makes your brain engage differently. It’s less about the tool and more about how the change wakes you up.
Both seem to explore how breaking out of autopilot can unlock better thinking, which is exactly what I’ve been noticing in my own routines.
Was waiting for someone to comment this. It's a somewhat known strategy if you have to read through a bunch of boring code you don't want to work with, and find hard to focus with, to turn off the syntax highlight and somehow the brain stops glossing over/skimming the code and starts to pay more attention.
I found it led to marginal difference at best, as with most strategies. It does work well initially though, as I guess the brain stops being able to use colors it's used to for grouping stuff together and similar.
I'm adept at using both but the change adds just enough friction and visual differences to spark creativity, or a little productivity boost.
I find it much better that way.
I am naturally prone to optimizing friction away--autistic engineer--but have come to realize regularly putting myself in uncomfortable positions professionally and personally works for me as a form of exposure therapy.
Nowadays, in the event I'm thrust into such an unfamiliar situation against my will, I'm still functional.
An enormously valuable knock on effect was coming to the realization the things I enjoy most in life are those which have been a surprise, and I would have simply avoided weren't I being intentional in pushing my own boundaries.
I have used the voice recorder less over the years but I find it optimal when time is limited and I have to move onto something else. Part of using a voice recorder as a medium is listening closely afterwards and writing down what I said in a different manner (either in a more permanent paper notebook or digitally in a text file). And yes, each iteration transforms the idea at least somewhat. It gives you the chance to see the idea in a different way.
Paper Notebooks + old-school Digital Voice Recorder (get one which takes replaceable batteries) are a great combo to train oneself to use regularly and consistently for everything.
I started a blog to get my thoughts out and explore whatever sparked my curiosity. It’s been a creative blast, and I’m still figuring it out as I go.
I do journal, though it’s more of a quick log, tracking time and daily developments. My deeper writing is more immersed. Lately, I’ve been spending a few hours most nights working on a self-improvement book, which I’ve been enjoying writing.
One unexpected benefit I can’t emphasize enough is how much writing has helped me stay sharp and more focused in my day job. It’s like a reset button for the brain. If you’re feeling stuck or low on motivation, I really recommend trying something completely different in your routine, especially something outside your comfort zone, like switching from digital to analog. Thanks for asking!
That'll bake your noodle for a good long while :)
- Zen koan I read a while ago, might have got the wording a bit wrong, but a fun one.
Just googled, and it is Wikipedia too, but "koan" is only in the See also section:
https://en.m.wikipedia.org/wiki/If_a_tree_falls_in_a_forest_...
One small example of a problem we were required to learn was that of a pipe running through a space at some angle and determine if it intersected something important.
Going to the kitchen, boiling water and letting it brew, gets me away from my desk and gives me an opportunity to start thinking out loud while I wait.
Sometimes just getting up out of my chair will shake loose some tough problem and the answer will be clear.
Alas, even after all these years, I occasionally grind away on things rather than remembering this.
Not my opinion of course, I just thought I'd include it as I found it surprisingly missing from the comments.
But as soon as I turn from implementing and debugging code to conceptual thinking or building a mental mode of a problem domain, LLMs currently function for me mainly as Grammarly on steroids. There’s no one tool in this space that’s supreme - Zotero, DuckDuckGo, Google Scholar, pen and paper, draw.io, and Google Docs all play a role. I’m a PhD student, YMMV, the LLMs do improve over time, etc.
Working on an architecture with a peer and marker really led to some elegant class designs.
The last time I worked as a CTO I bought them for the whole team. Being able to redraw things on a shared digital white board beats having to redraw the same 4 boxes a dozen times because you keep running out of space.
Also saves people taking photos of the white board before erasing.
I have to say, that's pretty damn cool! I'm such a fan of diagramming code and systems, so having this for everyone on the team I'm guessing would have done wonders!
I now have a A2 paper notebook (I think it's actually supposed to be used as an artist's sketchbook) permanently next to my keyboard (my mouse sits on it) and I can't imagine living without it now... but a 24" pen display, mindblown!
4k and quite affordable. And it's a real screen the rest of the time.
Like I said the main quality of life improvement has been xournalpp. Development in the last year has taken off and it's one of the most pleasant projects to contribute to.
1) it’s prettier and less messy 2) the digital markers are never dry 3) it encourages more edits and changes
I basically start all my technical designs in excalidraw now
I can make more complex drawings in excalidraw than I could on a really drawing surface. I suspect that leads to simpler drawings and thus simpler designs.
I go through several different notebooks, none of which I keep what is in it because it wouldn't make sense to me now but writing it out helped for it to make sense to me then.
It's like those tv episodes with the kid making a cheat sheet on his shoe then never needs it because he remembered everything.
Ex:
W22 D111 Wed May 28, 2025 (7)
The (7) means hours since I'm a contractor and I do walks/subtracts time that I fill in with PTO
I will probably get a remarkable 2 again at some point, it seems redundant if you have a tablet like device (I have a Surface Book 3) but that is rarely used funny. I used to use an RM2 a lot but had to sell it when I needed cash. It's cool that it's programmable.
These days I have found the iPad + Pencil with an infinite canvas to be the best fit. I use Ahmni (https://www.ahmni.app/) which is a delight.
The single most powerful thing I do is ask questions and write down the answers. When I want to understand a system this is the fundamental step that cannot be skipped. How crucial it is that I understand the system will tell me how formal I need to be in my thinking. If it's a basic web application or a report I need to generate it's a simple, informal note. If we're talking about a critical system that's distributed and requires high-availability with hard limits on processing time and the consequence of getting things wrong is that businesses and people lose money/property? Then I'll bust out the mathematics and model things formally.
I've experimented as well with writing code on paper first. This doesn't work so well with procedural languages without some form of shorthand/formalism. It works much better with statically-typed functional programming languages. When using such languages I mostly need to reason about the types: the implementation is a matter of filling in the holes which can be done when I'm at the keyboard. The more I learn to "think in types," the better this works but I'm not super great at it yet.
Notebooks are where it all begins.
I also use notebooks to journal my work. I use the bullet journal system to keep track of my work. Keeping it on paper forces me to sit in front of it and physically remind myself of my tasks. It helps me stay focused on the day to day activities and not lose track of my longer-term goals. After using one long enough this way it becomes a chronicle of my work. Handy for performance review season. A great deal of programming work comes out of these journals.
Some folks prefer digital tools and that's fine and dandy. I'm just old school and prefer physicality. Paper and pen work on the level my brain works on and gives me a break from screen, keyboard, and constant stream of notifications. Room and freedom to think without interruptions is important and useful.
The item in question for anyone curious: https://www.amazon.com/dp/B0BS1WJZNW
However this is only for things that I care about. I'm OK to throw shits on the wall and see if it sticks for anything I don't care about.
Now I have a digital tablet (Supernote) on which I scribble down all the meaningless stuff throughout the day. Then I review that and anything useful or important goes into Obsidian where I can tag/search it later.
[0] https://slate.com/technology/2011/09/paper-versus-the-ipad-i...
Also love writing things on paper. I love using different pens, and write in different styles sometimes (cursive, block, normal, whatever). I just take quick throwaway notes on paper or I'll sometimes sit down and outline things for an hour over a few sheets just to put organization to some large task which I'll translate into something for consumption by others later. Almost always throw these away. Sometimes I work through a notepad, sometimes it's a little notebook, sometimes it's printer paper... getting away from the screen for a bit is lovely.
And I set up a notes section on my computer which I can pop open with a quick <space>X in ViM which has a directory structure giving me spaces for recurring meetings, architecture work, or notes on whatever initiatives I'm trying to push through. I index file names with 01-, 02- etc and if I have a section that branches out I'll just add another index so 01A-, 01B-, etc...
Having everything in ViM with a tmux conf setup that scaffolds out a ton of different spaces I've set up mnemonic keyboard shortcuts to navigate to is really helpful in reducing the overload of having Slack, IDEs, browsers, notepads, music, etc etc etc all open at once (since on a good day I just have Slack, Outlook, iTerm, Firefox and maybe Figma or Music open at most points). I'm also quick to wipe away tabs in the browser...
Next up I'm diving into Figma so I can turn these ideas into beautiful diagrams and even mock interfaces my partners can ingest visually for easier understanding of complex spaces
Finally, and I'm thankful I can afford to do this, but I turn all notification sounds off, Slack'll bounce once from the hidden dock...
It's great, distraction free, tailored to my needs, a fair amount of variety, and some really nice productive times.
None of it is saved. I use it to extend my working memory for complex design problems, and for this purpose I find it very effective. The advantage of paper and pencil is that it is naturally and efficiently amenable to non-linear and somewhat arbitrary patterns of access and representation.
Software really struggles at this because computer UIs force everything into coarse linear workflows no matter the presentation, which makes navigating and rewiring a large number of orthogonal dimensions awkward and inefficient on the best days.
As we're absorbing this idea... I've seen employment contracts for technical people that arguably might consider these handwritten notes to be IP artifacts, which must be preserved and made accessible to the company.
If that's your situation, you could scribble the date, your name, project, etc. in some margin of the piece of paper, and stick it in a pile/folder. To eventually be scanned, and the file put somewhere accessible, and/or the paper technically preserved.
In a startup, you might also want to preserve things like these for nostalgia, even if they have no IP value. One seed startup, I kept a folder of "nostalgia" photos, video clips, screenshots, etc., of early prototypes, people working late, incremental successes, etc., and it was quickly a good thing. It's amazing how well you can progress, and what positive feelings you have some of these things that quickly become nostalgic. Anyone can see the current state of the code in the repo, but here's the pencil sketch on quadrille paper (or a napkin) one evening that became our architecture.
I do go through all the old papers when I discard them but 99% of the time there is no discernible value. The thought process that created them is strongly non-linear, which does not lend itself to naive linear consumption at all later date.
Default mode network https://en.wikipedia.org/wiki/Default_mode_network
OP is on the right path: think before you code.
One of the neat things about being in the last few years of my career (started in 1988) is how the tools change. I'm a senior principal software architect at a large-ish company. And I don't write a single line of code. I write everything in Visio, Word, and PowerPoint (and sometimes PlantUML). As you move up the abstraction ladder the tools become simpler. I define architectures that will deploy into 10-year lifespan applications (think military, medical, and automotive tier-1), and the code that implements it--or even the language used--has absolutely zero impact on the architecture. Mostly C and C++ (went through an Ada period, too), and some of it might even be implemented in Rust over the next few years as it matures into the automotive world, but when you're high enough up, the implementation is irrelevant.
What matters are the building blocks, the apis, and most importantly, the encapsulation because that has an impact on the silicon, security, manufacturing, and test. Stuff that can be drawn and explained in a few slides, and not the code itself. (Of course, my lovely boxes have to be able to withstand upstream discoveries of flaws in the architecture, but that's the fun part!)
I literally just write down everything important in meetings because it keeps me focused and I enjoy the act of hand writing.
And then I keep notes in a giant endless .md file of what my goals are for the day. It's like 10 lines per day max.
The input speed on keyboard is just way faster than with pen:/
Sometimes I still use notebook but it becomes less unfortunately.
But my my challenges are just not challenging
Can you elaborate? Do you have any examples of such interactions with LLMs?
Most notably - https://joshldavis.com/2013/05/20/the-path-to-dijkstras-hand...
Discussed - https://news.ycombinator.com/item?id=20791049
Yes A4 is quite big but has good advantages for inserting loose papers and the A4 real estate is a great size for user interface design.
Pen and paper are great because it forces you to think and design without going into too much details and being distracted.
I find myself alternating between 2 modals: pen and paper vs. use Sublime Text to just write down some thoughts. Either seems to work well.
The other place where typed up notes are extremely useful is with business users and meetings that go back and forth ending in confusion. A shared screen with minimal notes that the requester sees (and agrees) works wonders in bringing focus.
It's especially useful for graphics/visual programming tasks.
bufferoverflow•1d ago
abid786•1d ago
Brajeshwar•1d ago
kubami•1d ago
jes5199•1d ago
serial_dev•1d ago
To me, if the problem is too complex, or more likely, if I expect to be distracted by family and chores, "building in my head" is not the best option as it all falls apart and need to build it up from scratch (though admittedly faster than last time).
karn97•1d ago
raincole•1d ago
forty•1d ago
specproc•1d ago
I wholeheartedly agree with the author. I find it really hard to think deeply at a computer. Too many distractions.
The speed of writing and search isn't a problem for me. With the writing, I wish I could write faster, but deep thinking isn't fast anyway.
Search, well, 99% of what I write is never looked at again. It's all a process of working things out, committing stuff to memory.
Whenever I'm stuck, stepping away from the computer is usually the best way forward.
sph•1d ago
https://www.scientificamerican.com/article/why-writing-by-ha...
https://stackoverflow.blog/2022/11/23/why-writing-by-hand-is...
Writing by hand definitely is better for a squirrel brain like me. And searching is overrated, most note-taking is write-only and tends to accumulate without anyone ever reading it back. So optimize for memory retention so you can later form better mental associations with the material, rather than how searchable on a computer it is. Notes on a PC are inert, what you want is to integrate their contents into your brain so you can actually do something with it.
WalterBright•1d ago
Edd314159•1d ago
It is absolutely the wrong tool for any long-term information store. Ephemeral think-it-through process notes only. Obsidian for anything that should live longer than the current problem I’m trying to solve.
_thisdot•1d ago
bananapub•1d ago
draven•1d ago
Also: I just like writing.
gofreddygo•1d ago
That notebook is the fastest most accessible tool to capture my thoughts. I can state concisely what was discussed in a team meeting last october before any notetaking tool boots up. I know kids names, birthdays and favorite movies of almost all my coworkers which I can glance without switching windows while sharing my screen.
the impossibility of such content being legible to anyone else and being shared is a feature I value very highly.
i take it where i want, introspect, take notes. No screen. No distractions. I doodle, draw lines, write jokes, whatever.
Pages on the right are work things. On the left are my ideas. Index on the first page tells me exactly where to turn to for that idea and mockups i had on filling tedious forms.
I know when I'm spinning my wheels. I can see the gaps in my thinking from months ago. I can see patterns in human behavior that I would otherwise have not noticed.
The simplicity is a huge advantage. I stopped looking for anything better. I don't try to promote it either (except on rare occasions). Saved me hours.
MrGilbert•1d ago
rsclarke•1d ago
gofreddygo•1d ago
first page is always for index, split vertically and you get roughly 80 entries with about 3-4 words each. one for each page that i number as i go writing through the book. index usually has just pointers to days when i get interesting ideas.
each right page is for 1 week that i label up top. a small margin is dedicated for recurring meetings. using only the right side allows quickly flipping through. rest of the page is for todos and logs.
left pages are for related thoughts, ideas, etc from that week. sometimes overflows but not by much.
For wordy stuff, i use pages from the back of the book. I don't use sentences much. Just few words with lines connecting them.
Thats pretty much it - index, numbered pages and using just the right side per week. It works wonders for how simple it is. You'll find something else that works for you. Don't overthink this. Just start with a structure and let it evolve.
side note - i do use a folder for plain text notes on my work laptop (that i keep open in sublime) for links and text that benefits from copy and paste. i would not care if it all got deleted or leaked out to the world. I also have another folder of interesting bookmarks and articles exported to pdf for reading on a flight on my phone. i have a dozen or so google docs with my thoughts on topics i'm interested in.
MrGilbert•1d ago
I'm currently looking at a stack of lovely "Leuchtturm1917" A5 note books. The way I took notes for the last three years has been chaotic, that's why I was interested in your way of doing them. I think, finding a mode of work and let it grow and iterate over time is the way to go. I see room for improvement with regards to how I structure my notes, so that I can find them again - that's what I'm struggeling with in my analog world. So, thanks for your insights, they are really valuable!
johnisgood•1d ago
I type much faster on a keyboard, I can read it even a month from now while I can't do that with my own handwriting, and when I make a mistake, I can quickly and easily correct it.
MrGilbert•1d ago
I my books, I use Tipp-Ex for that. I usually write with a ballpoint pen.
Hamatti•1d ago
I often browse my notes even when I'm not looking for anything. I read what I've been thinking previously because that often sparks new ideas and thoughts.
One thing where I find pen and paper superior to digital is that it's easy to write in the margins, draw arrows and annotate. When I got my first iPad and tested out digital notebook tools (with stylus), I was excited about the idea that I can resize and move my existing drawings around.
Then it took me a few days to notice that I don't really ever need that. I don't need my "finished" notes to look tidy or good. I got over the need to have organised and structured notebooks and embraced the chaos.
I guess it's different things for different people. For me, the flexibility of paper is superior to any digital solution because it has the shortest "input lag" or "feedback loop" to my brain. I'm happy to sacrifice other potential benefits for that.
tony-allan•1d ago
serial_dev•1d ago
To me, none of the qualities you listed matter when it comes to sketching ideas, thinking about problems, staying on track while problem solving. When I'm done with the task, I read through my notes once and throw it out.
WalterBright•1d ago
It serves the same purpose as the lab notebook does for a researcher.
The notebook doesn't take up significant room. If you still have a space problem, run it through a scanner.
WalterBright•1d ago
It's remarkable how much of the lecture you'll remember. And when you read your handwritten notes, you'll remember the lecture that went with it.
guappa•1d ago
aragilar•1d ago
WalterBright•1d ago
In retrospect, I sorely wished I had set up a cassette recorder and recorded all the audio. It would be a gold mine today, as all those lectures are lost to time.
On the other hand, I had no money to buy cassette tapes at the time.
tonyedgecombe•15h ago
aragilar•15h ago
WalterBright•1d ago
My favorite pens at the time were the Pilot pens. Today I love the Tul pens.
I have long since scanned them all in. I should post them on my website, just for fun.
2b3a51•1d ago
Then go over the notes later and summarise or add details on those left hand pages. I used to do the colour pen/highlighting then.
Worked for me half a century ago. No data format problems or need for legacy hardware either.
johnisgood•1d ago
Jokes aside, I often used to take notes only on the left side because of it, and sometimes the right side, except upside down.
pif•1d ago
If you need to draw approximate diagrams, or formulae, or flows, or trees, or whatever else, instead...
Veen•1d ago
cladopa•1d ago
I use an automatic scanner to store the important papers as documentation. Now you can even send those to gemini or google cloud to digitalise it for cheap.
At any given time I have four sheets of paper over my desk that I can see in parallel, but I could have 8 or 10 for complex problems with areas equivalent to engineering or architectural blueprints.
Having said that, I can draw and paint very well as I was interested since childhood and had formal training. Probably is not for everyone, but it is for me.
_Algernon_•1d ago
wrp•1d ago
Eavolution•1d ago
jbs789•1d ago
Hamatti•1d ago
> It's slow to write
Only to an extent. I write fast enough with pen and paper that my thinking is the bottleneck — which isn't really that fast. I don't need to write down everything I think so it also acts as a filter and processor of those thoughts.
> insanely slow to search what you've written
Compared to digital notes system, sure. But the way I use my notes, I don't usually need a full-text search to find stuff. I remember what I've been working on, I often browse through my notebooks to revisit ideas and most often these notebook notes are kind of a "working copy" where the search relevance is often just for the feature so it only needs to be fast to search for a few days or weeks.
I also do copy many of my notes down in digital format too when there's something worth capturing for long term storage for the sake of searching for example.
> almost impossible to copy or share
100%. Sharing is not a consideration for me, these are my raw pure thoughts and explorations, they don't often make much sense to other people as-is. Sometimes I may take a photo of a UI sketch or something to share if needed but otherwise when I have something to share, I write it based on my notes rather than sharing my notes as they are.
roryirvine•1d ago
I typically get through a couple of B5 pages a day, so homing in on the thing I want to look at is a matter of opening the notebook to roughly the right fortnight and then flicking through up to a dozen pages in either direction. A tenth of a second per page is enough to scan for major events - what projects was I working on at the time? Were there any major interruptions to my flow, or changes in direction?
And then, once I've found the right day, seeing the detail of everything I was doing at the time triggers a flood of memories - I remember all of the conversations, decisions, problems, and ideas that were current at the time of the entry in question.
I've tried a number of digital notetaking systems, but none has been able to give me so much context so quickly as a paper notebook.
hk1337•1d ago
that's probably the most important thing. it forces you to slow down and think it through and actually absorb it.
Searching what I have written in the past would be useless for me because it wouldn't necessarily make sense. It's more about the physically writing it out.