As a developer, my most important tools are a pen and a notebook

2025-05-286:27468290hamatti.org

Writing code is a part of being a software developer but often more important question is to figure what code to write and how and that I like to do away from computer with my notebook.

After I signed my contract to join my new job a month ago, I was so excited. Not only that I would join the company but also because I got to buy a new notebook. The weekend before my first day I headed to the local bookstore and spent a good amount of time browsing through the notebooks available and ended up with this happy orange one.

Why am I so excited about a notebook then?

Because it’s the most important tool I have as a software developer.

When it comes to building software or solving problems, writing code is the necessary bit at the end where we tell the computer what to do but way more important than writing that code is figuring out what code to write.

I learned very early on in my career that I’m not very good at thinking when I’m at a computer. When I have my code editor open, I’m in a “function mode” where I write stuff that does something. When my brain hits that mode, there’s not much creative energies flowing around.

So I often step away from the computer. Sometimes it’s for walks (I tend to work at companies near water features so I’ve used to go for strolls near San Francisco Bay, Spree or the best of them all, Aurajoki) but often I take my notebook and sit on a couch or outside at the patio and ponder.

I might be thinking of initial solutions to new problems (ie. designing how to approach it, drawing UI sketches or flowcharts) or I’m helping myself understand the flow of data and interactions in the current code base to figure out how to fix a bug or add new functionality.

Writing (and sketching) is such a powerful tool for thinking in that. It helps me turn my vague abstract ideas into tangible artefacts through words and drawings. It helps me expose the gaps in my knowledge or understanding because I can’t skip them as easily when writing as I can when just thinking about them.

When I’ve written code, I like to write about it as if I would be explaining it to someone else. Whenever possible, I like to publish them as blog posts as well but even when it’s not possible, writing it that way helps me find inconsistencies, bad designs and even mistakes in my code. I’ve written about how writing is my favourite refactoring tool.

A lovely side benefit of thinking through writing is that it leaves behind a copy of my thoughts and the process of how I reached them. I don’t have to separately go and write notes because my thinking process already created most of them and I usually just reorganise and polish them a bit to make them more useful in the future as well.

That way, if someone asks what I was thinking about when I did X two weeks, six months or two years ago, I can go back to my notes and tell them exactly that. (Spoilers: quite often that someone is me in the future.)

I also have a longer post about how I take work notes as a developer that focuses more on the content of my notes.

If something above resonated with you, let's start a discussion about it! Email me at juhamattisantala at gmail dot com and share your thoughts. In 2025, I want to have more deeper discussions with people from around the world and I'd love if you'd be part of that.


Read the original article

Comments

  • By ednite 2025-05-2814:119 reply

    Great discussion. In my opinion, the real takeaway isn’t about notebooks vs. digital tools, it’s about what shifts your mental gears. Every time we switch modes, it forces our brain to pay attention differently. That fresh context can boost focus, creativity, even recall.

    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.

    • By cleak 2025-05-2815:234 reply

      The book Smarter Faster Better introduced me to the concept of disfluency - the idea that extra friction such as awkward fonts, new environments, different tools, etc will pull you out of autopilot mode and force you to think in new ways. I haven’t seen references to it elsewhere, but it’s changed how I approach problems and learning the last 9 years. Switching to a notebook is one great way I use to trigger this as well.

      • By gjadi 2025-05-2816:033 reply

        Interesting. I noticed the same and sometimes I change my emacs theme just to get a fresh perspective. Sometimes I also disable syntax highlighting when typing so I won't get distracted.

        • By diggan 2025-05-2817:251 reply

          > Sometimes I also disable syntax highlighting when typing

          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.

          • By WCSTombs 2025-05-2820:40

            Along similar lines, sometimes I print out code on paper and make notes with a pen, sitting far away from my computer. Of course there's no, or very minimal, syntax highlighting then.

        • By thewebguyd 2025-05-2820:42

          A bit extreme on my end, but I've got the spare hardware for it - when I get into a rut I change operating systems, so I'm bouncing back and forth between macOS and Windows or Linux.

          I'm adept at using both but the change adds just enough friction and visual differences to spark creativity, or a little productivity boost.

        • By fuzztester 2025-05-2911:41

          I have syntax set to off in my .vimrc file, to have no syntax highlighting at all, and it's off all the time, not just while typing, i.e., even while moving through or changing text (code), or even when just reading it.

          I find it much better that way.

      • By ednite 2025-05-2815:381 reply

        Thanks for sharing. I just added Smarter Faster Better to my reading list, along with Annie Murphy Paul’s The Extended Mind.

        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.

      • By dalmo3 2025-05-2820:402 reply

        Interesting. For me it's the opposite, e.g. just changing keyboard layouts between pc and mac breaks my brain hard, and I feel useless.

        • By jahsome 2025-05-2821:51

          I experience similar and I think of discomfort tolerance like a muscle. The more I (am forced to) use it, the less strain I experience when using it.

          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.

        • By tonyedgecombe 2025-05-299:07

          When I was dual booting my Mac between macOS and Windows I used to swap the keyboard and mouse at the same time. I found it helped with handling the differences between the two operating systems.

      • By brailsafe 2025-05-292:401 reply

        This is a somewhat wasteful one, but when I really really can't focus or make progress on untangling an issue or if I just want to fully understand a file, I will print out my code on paper and go through it with a red pen line by line. It's rare, but it works just like editing an essay. I notice things I wouldn't otherwise.

        • By fuzztester 2025-05-2911:45

          That used to be common some years ago, with or without a red pen or any pen.

    • By hinkley 2025-05-2817:352 reply

      I wonder how many developers today were forced to take an introductory drafting class. I know a lot of us played with Lego. The problem of describing a 3 dimensional object in two dimensions requires extra projections to describe the thing. A 3d object in 2 dimensions takes three drawings to mostly describe. If the object is more complex than three dimensions, you need to look at it from a lot more angles.

      • By ednite 2025-05-2819:102 reply

        Wow, decades in this field and it finally took your comment to connect my childhood LEGO obsession with coding. Simple enough, but it never actually crossed my mind. The funny thing is, I’ve always linked my love for storytelling to LEGO building, but not coding. Thanks for the insight, that just snapped into place.

        • By hinkley 2025-05-2819:142 reply

          Did I love Lego because I was like this, or am I like this because I loved Lego?

          That'll bake your noodle for a good long while :)

        • By Terr_ 2025-05-2823:51

          With respect to Lego and coding, now I'm thinking of the game Infinifactory, which has the nice property of yielding puzzle-answers where you can go: "Hey, I built that! Look at it operate!"

      • By wglb 2025-05-290:43

        I had a drafting class as a freshman in engineering school. The professor would come to class with a piece of chalk and a string and proceed to us only these tools to construct complex three dimensional shapes, and show how to rotate them to give a different view.

        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.

    • By atrettel 2025-05-2816:012 reply

      This is one of the reasons that I actually take notes in three different media: paper notebooks, an old-school digital voice recorder, and in text files. Different media have different advantages and disadvantages and represent different ideas for more readily.

      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.

      • By rramadass 2025-05-296:181 reply

        This is what i do too.

        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.

        • By fuzztester 2025-05-2912:001 reply

          What recorder make and model do you use?

          • By rramadass 2025-05-3016:091 reply

            The one that i had bought long ago and use is the Olympus VN-8100PC Digital Voice Recorder.

            But you can get whichever one fits your budget and works for you.

      • By fuzztester 2025-05-2912:001 reply

        What recorder make and model do you use?

        • By atrettel 2025-05-2914:461 reply

          I use an old Olympus WS-700M, though I did buy a different voice recorder recently and haven't used it much yet. The WS-700M works fine for its designed purpose. You can start recording basically instantly and the replaceable and rechargeable battery lasts forever. I think almost any voice recorder nowadays would work fine. You can use your phone if that works for you. It's a mature field. I just record things and delete them in a day or two. The WS-700M does also make a good MP3 player if you want something disconnected from the Internet.

    • By kapitar 2025-05-291:49

      This is why (apart from being Irish) I drink a fair bit of tea throughout the day.

      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.

    • By stronglikedan 2025-05-2819:521 reply

      I read a study a while back that said context switching costs ~15 minutes on average. I don't know how true it is, but my bosses have always believed it and tried to respect it.

      • By orev 2025-05-2916:51

        I don’t think this is context switching, which would be about moving your attention to an entirely different topic. Addressing the same topic using a few different tools doesn’t require your brain to unload and reload a whole set of context information.

    • By bandoti 2025-05-2816:01

      Something I noticed for myself—doing a live webinar series over a couple days and taking notes with pen/paper in realtime—I really struggled to keep up at first, but over a few days I started to notice my ability to do a listen-and-write context shift improved and it felt like I was able to retain auditory information better.

    • By agarren 2025-05-2816:201 reply

      Out of curiosity, what kind of writing? Journaling and getting your thoughts out, or fiction, something else?

      • By ednite 2025-05-2817:15

        Honestly, I’m kind of all over the place with my writing right now, but I can’t stop. It’s one of the reasons I finally joined HN. I’ve been a long-time reader here but recently decided to start sharing my 2-cents here and there.

        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!

    • By nemofoo 2025-05-2819:59

      This is a great insight. I have no data to back it up by my experience is very similar

    • By jasminebelmont 2025-05-2815:52

      [dead]

  • By sky2224 2025-05-287:2814 reply

    Some of the most intelligent people I've ever met in math, physics, and computer science don't even use a notebook. They use printer paper and pen. When they're done, they throw the paper away.

    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.

    • By safety1st 2025-05-289:182 reply

      The sciencey side of this is that writing stuff down boosts memory, retention and learning, even if you immediately throw away what you wrote.

      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.

      • By bee_rider 2025-05-2815:54

        Unscientifically I always assumed that the pencil-and-paper was not really the important part, just the ritual of memorization that modern people have from however many years of schooling. I assumed the important part was the ritual.

        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.

      • By thfuran 2025-05-2823:511 reply

        My handwriting was terrible all throughout school, and then I avoided it pretty much entirely for a decade or two. I'm not sure what's left can really be called handwriting. I guess maybe it still works to help recall, but it's barely useful as reference.

        • By tailspin2019 2025-05-299:58

          FWIW My handwriting (and the experience of writing) improved quite a bit when I switched to fountain pens. I always used to find writing a bit uncomfortable physically, and difficult mentally (due to ADHD) but fountain pens improved the experience somewhat.

          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.

    • By perrygeo 2025-05-2818:42

      For me it's critical that the note capture mechanism be unstructured and entirely free form. Typing notes on a keyboard just doesn't work when much of the things I need to keep note of are non-linear, non-verbal, relational, or spatial. Or just facts that I need to keep in temp memory.

      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.

    • By freetonik 2025-05-289:31

      >I have seldom found personal notes from far in the past to be useful

      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.

    • By cheema33 2025-05-287:47

      This is how my brain works. I do have a notebook. My stream of thoughts for one day go one one page for that day. I turn the page the next day and I almost never look back. There may be some value in looking back. But, I have not been able to make myself do it.

    • By MSFT_Edging 2025-05-2816:48

      Most of the contents of my notebook are never looked at again, just lists of thoughts, order of events, etc.

      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.

    • By kamaal 2025-05-298:24

      >>Some of the most intelligent people I've ever met in math, physics, and computer science don't even use a notebook. They use printer paper and pen. When they're done, they throw the paper away.

      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.

    • By sixtyj 2025-05-289:092 reply

      I'm sure it's very personal :) Because everyone has their own reality, workflow and reading a piece either resonates or dissonates with you (personally).

      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.

      • By sph 2025-05-289:52

        Don’t try to transform a paper notebook into a database. All those organizational tools are elaborate forms of procrastination.

        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.

      • By reaperducer 2025-05-2821:072 reply

        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.

        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.

        • By graboid 2025-05-2823:111 reply

          That sounds very intriguing, do you mind sharing the smart pen model?

          • By vin047 2025-05-299:37

            Not the GP, but I got a Rocketbook from my most recent workplace when I joined. Not quite a smart pen, more like smart paper - each page is grid paper with a QR code at the bottom that you scan with their app to digitise.

        • By sky2224 2025-05-295:41

          how reliable are those smart pens actually? I've always been concerned that you'll end up losing out on crucial or really finely drawn stuff.

    • By tmaly 2025-05-2820:461 reply

      I use to just lose my notes. But I have been using tech to transcribe them and put the text into my Obsidian vault.

      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.

      • By hxtk 2025-05-291:36

        > I use to just lose my notes.

        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.

    • By atrettel 2025-05-2816:111 reply

      I've used printer paper myself in different jobs in science. I personally don't like it but I have done it when it was the only paper available. Budgets in scientific organizations are often very tight, so often nothing else is provided, and many times you do not have the direct authority to order anything yourself.

      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.

      • By exe34 2025-05-2819:361 reply

        What kind of paper do you prefer?

        • By atrettel 2025-05-2820:411 reply

          I don't have an exact preference on the kind and weight of the paper, but I do prefer notebooks with firmly bound and numbered pages like old-school laboratory notebooks [1]. My problem is that I often do long derivations or work that can span dozens of pages with diagrams, etc. If I use loose leaf paper like printer paper, I often lose track of pages or their order. I tend to label my pages extensively when I have to use printer paper. I also use binder clips instead of paper clips since they are much more secure. That system works for me but other people might not like it.

          [1] https://news.ycombinator.com/item?id=38772707

          • By exe34 2025-05-2911:21

            Notebooks are cool, but I prefer printer paper for short term notes. I tend to staple them together if there's more than a few pages. If I need to remember something for longer than the few weeks before I lose the sheets, I take a picture with my phone.

    • By hk1337 2025-05-2814:49

      > They use printer paper and pen. When they're done, they throw the paper away.

      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.

    • By foobarian 2025-05-2816:56

      I used to use fancy watermarked paper just because it was fun, but then I got a job at a place with supply closets stocked with infinite printer paper, and, best of all - 11x17 printer paper! I got a 11x17 clipboard to go with it and been using that ever since.

    • By esperent 2025-05-291:15

      Reminds me of the old joke: all you need to be a philosopher is pen and paper. All you need to be a mathematician is pen, paper, and a trash bin.

    • By XorNot 2025-05-2821:14

      Reminds me of the sheer optimism which taking a picture of a whiteboard represents...I have not once, ever, needed or wanted to look back at one.

  • By js4ever 2025-05-287:0825 reply

    Calling a notebook the “most important tool” for a dev is pure romanticism. Useful for some, sure, but let's not pretend it outweighs a debugger, version control, or CI. This isn't craftsmanship cosplay, it's software engineering.

    • By Hamatti 2025-05-2813:102 reply

      OP here. Last time my blog caught attention in HN, I was told I'm "living in a fantasy" and this time it's "pure romanticism".

      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.

      • By brettgriffin 2025-05-2817:123 reply

        > Those are tools that if I lost them, it surely would slow me down and be annoying.

        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.

        • By tomjakubowski 2025-05-2819:091 reply

          > significantly slower without an IDE, compiler or debugger … In fact, I don't think you would be a professional programmer if you didn't have them.

          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.

          • By brettgriffin 2025-05-2820:321 reply

            They are examples, the exactness is not what is important here. Choosing something that is not connected to electricity, an OS, or the internet to be a software developer's _most important_ tool is, in fact, the strange position here.

            • By reaperducer 2025-05-2821:132 reply

              Choosing something that is not connected to electricity, an OS, or the internet to be a software developer's _most important_ tool is, in fact, the strange position here.

              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.

              • By frankish 2025-05-306:35

                Hmm, but doesn't the brain run on electricity? And why couldn't it possibly have something like an OS? I don't think we know exactly how the brain works

              • By brettgriffin 2025-05-2822:37

                As much as I hate that answer I think it is better than a pen and and a notebook.

        • By DoingIsLearning 2025-05-2819:03

          > you would be significantly slower without an IDE, compiler or debugger than you would be without a pen/paper.

          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.

      • By testing22321 2025-05-2818:47

        > Last time my blog caught attention in HN, I was told I'm "living in a fantasy" and this time it's "pure romanticism".

        When people criticize like that, you know you’re doing something right. “Only people doing less than you will criticize “

        Keep it up!

    • By mosselman 2025-05-287:342 reply

      Thanks for pointing this out. In the same vein there are so many posts about productivity systems where people put endless amount of time into crafting their gtd notebooks with tabs and lists, etc. All that time spent to be productive instead of actually being productive. Or people describing their ideal Obsidian work flows instead of actually noting anything useful down in it. People writing about how they built their own blogging engine because their particular way of blogging is so unique that they had to hand-roll something. All that time spent on building a blog rather than blogging. (I've been there too).

      I love "This isn't craftsmanship cosplay, it's software engineering.". I will definitely steal this, let me put it in my notebook.

      • By martindbp 2025-05-289:101 reply

        You see this everywhere. In sports its the people who spend most of their time worrying about their equipment instead of just playing the game. I was there with learning Chinese as well, spent way more time thinking about tools than actually learning the language.

        • By verzali 2025-05-2815:34

          The people wearing the shiny new running shoes at the start of the race rarely finish anywhere close to the front.

      • By blippage 2025-05-287:38

        As some wag on Reddit put it, "Digital Note Taking Systems: Cutting and pasting your life away, one note at a time."

    • By noosphr 2025-05-2815:181 reply

      What you're talking about is software machining, not software engineering.

      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.

      • By mediaman 2025-05-2817:421 reply

        That’s funny, because if you go into any machine shop you’ll find machinists writing things down in notebooks (and probably cursing engineers who never set foot in the shop).

        • By noosphr 2025-05-2823:591 reply

          Those are job shops, there are no old school production lines left in the US. Here's what they used to look like from a century ago: https://www.youtube.com/watch?v=Xa0PAg7FfMk&t=350s

          • By mediaman 2025-05-3123:28

            There are no more “old school” production lines left? I’m not sure what you mean; obviously there are a lot of production lines in the US, including the manufacturing of engine blocks as shown here.

            Do you mean that they use robots today and therefore aren’t “old school”? That’s true in most industrialized economies.

    • By onion2k 2025-05-287:422 reply

      The literal argument here is fine - using a notebook is antiquated and we have better tools.

      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.

      • By MonkeyClub 2025-05-287:581 reply

        > using a notebook is antiquated and we have better tools

        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.

        • By directevolve 2025-05-2815:41

          For fast, physically intuitive, flow-of-thought expression, there’s nothing like pen and paper, for me.

          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.

      • By Hamatti 2025-05-298:10

        > using a notebook is antiquated and we have better tools.

        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.

    • By dwringer 2025-05-2814:213 reply

      This feels like saying "when building a house, obviously a hammer is more important than the blueprints. This isn't art class, it's construction"

      • By growthwtf 2025-05-2814:49

        And funny enough, saying that to a group of tradespeople and GCs would elicit essentially the same discussion as this is!

      • By angrysaki 2025-05-2816:12

        Wouldn't it be:

        "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)

      • By yokoprime 2025-05-2822:45

        yes! my thoughts exacly. its the arrogance of a junior engineer

    • By xtiansimon 2025-05-2812:31

      > “craftsmanship cosplay”

      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.

    • By rubicon33 2025-05-2814:382 reply

      This 100%. I was going to write something similar. In my entire 15 years in software engineering, the amount of times I've reached for a notebook pales in comparison to the amount of times I've relied on version control or a debugger.

      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.

      • By Jtsummers 2025-05-2815:071 reply

        > the amount of times I've reached for a notebook pales in comparison to the amount of times I've relied on version control or a debugger.

        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.

        • By ddaud 2025-05-292:21

          This is exactly my thought. Be it pen and paper or digital, writing out what your software needs to do and how it will do it saves an immense amount of time debugging or throwing things at the wall. I’m shocked at some of the responses here; there is a qualitative difference in the development experience when you spend the time designing (I also frequently do this by hand, but it doesn’t have to be) before implementing anything vs. opening an IDE and hammering something out.

          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.

      • By acuozzo 2025-05-2814:571 reply

        > the amount of times I've reached for a notebook pales in comparison

        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.

        • By rubicon33 2025-05-2821:33

          I do/done a little bit of everything. Backend Java, mobile ObjC (iOS) and Java (Android). Spent 2 years as a firmware dev on NRF platform so very familiar with spending time on data structures and byte alignment. I’ve also spend 4 years doing TS/JS back in the early Angular days.

          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.

    • By crq-yml 2025-05-2810:55

      Over generations, we'll get to where the software tools are relatively more important, but as of right now, it is almost a certainty that the quality of the software you write benefits from writing less code and relatively more of it with a paper draft that is based on carefully reading sources and documentation, and not from any other kind of tools investment.

      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.

    • By aragilar 2025-05-2813:17

      What about an issue tracker? Or requirements? Design and planning? A debugger doesn't help you design, version control doesn't tell you what you still need to do, and CI doesn't tell you you've implemented the requirements (or even that the requirements you think you have are the actual requirements).

    • By austin-cheney 2025-05-288:30

      If you need a framework to do the job you were hired to perform then, clearly, that framework is the most important tool. You likely don’t exist professionally without it.

      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.

    • By r053bud 2025-05-2814:211 reply

      I’ve definitely fixed more bugs with pen/paper than a debugger.

      • By paganel 2025-05-2814:261 reply

        That and taking a shower, doing dishes or taking a walk around the block, in fact I'd say that the ratio of bugs/issues I've solved while away from the computer compared to being in front of the computer is quite high (in favour of the "away from the computer"-fixes, that is).

        • By DawsonBruce 2025-05-2815:05

          The balance of rest is an important factor that I’ve understood the value of only later in my career. Pausing on a difficult engineering task at the end of the workday in favor of exercise or cooking dinner (or both) gives my mind and body time to reset it needs. Often answers or alternate approaches will materialize mid curl, crunch, or vegetable chop.

    • By AnimalMuppet 2025-05-2813:01

      All right, let me put it this way: As a developer, my most important tool is my brain. The time I spend figuring out what to build and how to build it is more important than just banging out some code.

      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.

    • By butterlettuce 2025-05-2815:28

      Apollo 13 crew was saved by duct tape, yet it’s still rocket science.

    • By ironman1478 2025-05-2815:461 reply

      It's not romanticism and it's very important for me too. I spend a lot of my time drawing out what I'm trying to do before I actually try to do it. I tend to work on greenfield embedded projects though for context. Coding and debugging is hard to get good at and are obviously important, but you still need to figure what to actually build and those tools won't get you there. For me, I use a pen and paper to actually figure out what I need to do.

      • By godshatter 2025-05-2822:05

        When trying to figure out what to code or how to solve a problem, pen and paper is too "concrete" for me for some reason. If I'm waiting for inspiration I would rather just go for a walk or pace back and forth or just stare at something (monitor, wall, whatever) and think it through. When I write something down (or especially when I type it into a document) it becomes too set in stone for me, and if I do it too much I get way too "close" to it to see the solution.

        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.

    • By zwnow 2025-05-287:1010 reply

      In a few years of my career now I never had to use a debugger or CI. Console debugging is good enough usually. On version control I agree.

      • By xnorswap 2025-05-287:413 reply

        The conclusion I draw from this is that some debuggers are so bad it's not delivering value over "print debugging".

        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.

        • By wiz21c 2025-05-289:321 reply

          A debugger doesn't show you the evolution of your program over time. A few well placed prints give you that.

          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 ?

        • By wglb 2025-05-302:05

          I've spent some quality time with debuggers but have come to the conclusion that it is a seductive way to spend time that doesn't necessarily get me there any faster than with printf or equivalent.

          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.

        • By Tainnor 2025-05-2811:07

          A debugger will also allow you to step through library and framework code where you can't usually go and place print statements.

      • By planb 2025-05-287:402 reply

        I don't know you or your work. But I know (senior) developers that don't use a debugger and I've often noticed that when fixing a bug, they don't build a full mental model of what really goes wrong and often just fix the symptoms. Think "that shouldn't be null, we need a null check here" instead of "why is this value null? we should check here, but also make sure the caller works correctly."

        • By vacuity 2025-05-2814:091 reply

          On the other hand, though this is n = 1 and from 2000 (and it is classic Linus):

          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.

          • By skydhash 2025-05-2819:411 reply

            Debugger for me is more about inspection than actual debugging, especially when dealing with a complex systems. It's possible to just use a printf, but the debugger gives more information. It's rare that I need to do stepping. I mostly just want to see the stack trace and the state of the program. One of the nice thing about Common Lisp and Smalltalk is to be able to do this any single point.

            • By igouy 2025-05-2915:14

              Do this at any point and then change the state of the program.

        • By johnisgood 2025-05-2810:09

          You can have that kind of thinking or mental model with and without debuggers though. I do not see how it is relevant to debuggers.

      • By aerhardt 2025-05-287:341 reply

        I do not know what you work on, but debugging is indispensable for certain workloads. Print debugging doesn’t come close to setting up a breakpoint and inspecting every single variable in the stack with a good interface. You don’t even have to select what to print and where, anything can be printed anywhere in two clicks. A UI like the debuggers in Jetbrains IDEs provides smart rendering for all types so that for example map or list elements can be collapsed. The entire call stack is neatly organized and searchable too. It saves hours, creates less friction and also greatly enhances exploratory debugging, where you don’t even know where in the call stack your problem might be. I’d feel very hindered and unhappy if I didn’t have access to a good debugger.

        • By zwnow 2025-05-287:421 reply

          I dont know, sounds more like a design issue to me, if your app requires this amount of information to get debugged properly.

          • By trueismywork 2025-05-2811:151 reply

            Really? Just try debugging a Dijkstra like algorithm and then talk about design issues.

            • By coderenegade 2025-05-2823:32

              My bread and butter at one point was working on various pathfinding and numerical computing problems, and I'm primarily a print statement debugger. The time evolution of the system is usually the most important signal for debugging these types of problems, and is easy to dump.

              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.

      • By karn97 2025-05-287:401 reply

        You seem to have worked on small simple projects thus far then.

      • By yetihehe 2025-05-288:45

        Debuggers are important tool, but not all debugger are good and not all problems require debugger. That's why I wrote a simple tool, which given a list of methods and classes will printf to log every invocation and exit of selected functions (via java reflection and function rewriting). It was much better than a normal debugger at finding actual flow of data in very complex multi-program system, so essentially machinegun-printf saved the day.

      • By polishdude20 2025-05-287:19

        I was the same until I started working on a Go server. It helps immensely when I want to know the value of objects say when a request is handled and how that flows.

      • By HelloNurse 2025-05-2810:36

        There are different categories of tools.

        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.

      • By 01HNNWZ0MV43FF 2025-05-287:18

        CI is really nice with multiple platforms or multiple people. Solo projects for Linux, I never bother

      • By stackedinserter 2025-05-2814:191 reply

        It means that you don't write anything complex.

        • By paganel 2025-05-2814:29

          Which is most probably the majority of us, computer programmers.

    • By wrp 2025-05-2810:03

      "Most important tool" depends on what you mean by "important". For TFA, it means the environment where most of the thinking is done. So it's a legitimate claim. If you want to restrict "important" to the most critical link in the development chain, I suppose you would have to choose the compiler.

    • By coldblues 2025-05-288:053 reply

      Finally someone had the guts to say it. I see the same arguments again and again that writing in a notebook makes you remember things better and think more thoroughly, but who exactly was tested here? Were people with an extensive and deeply personal Zettelkasten note taking system added as participants in the studies? What was their note taking process? Most people severely underutilize or even misuse their digital tools. Just take a look at people who use Notion ;)

      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

      • By anonzzzies 2025-05-2811:29

        > Finally someone had the guts to say it.

        ? It's the (mostly anonymous) internet and not linkedin. People call these things out all the time?

      • By ptero 2025-05-2814:07

        Different people learn and work in different ways. To become comfortable with a new complex topic I personally have to work things out, with a pencil and an eraser, on a piece of paper.

        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.

      • By reaperducer 2025-05-2821:26

        I see the same arguments again and again that writing in a notebook makes you remember things better and think more thoroughly, but who exactly was tested here?

        Plenty of the research is online for you to answer your own question.

    • By runjake 2025-05-2815:31

      Think of it this way: The brain outweighs those tools (for now). The notebook is an extension of thought and the brain.

      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.

    • By hooverd 2025-05-2814:53

      I thought engineers frequently used notebooks? I guess if an electrical engineer ever sketched anything in a notebook, they're just pretending.

    • By epolanski 2025-05-288:14

      I would say that planning, analyzing and tracking is by far the most important part of engineering process, software or not.

      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).

    • By wglb 2025-05-293:25

      Consider that Knuth first wrote TeX in a notebook. So there is that.

    • By ioslipstream 2025-05-2814:04

      As a developer my most important tools are a computer with working keyboard, monitor, and mouse. Everything else is secondary. A notebook and pen falls somewhere below cpu, gpu, hard drive, ram, reliable internet, etc.

      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.

    • By yokoprime 2025-05-2822:44

      CI or VCS is worth diddely squat if you dont organise your thoughts

    • By Apocryphon 2025-05-2814:071 reply

      And yet, you’ll be hard-pressed to be given access to those during computer science exams, unlike a pen and notebook.

      (Maybe it’s different in modern college classes now but wasn’t for decades.)

      • By reaperducer 2025-05-2821:28

        And yet, you’ll be hard-pressed to be given access to those during computer science exams, unlike a pen and notebook.

        (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…"

HackerNews