Writing code (Programming) is a thinking tool too.
When you are writing code manually, actually you are thinking about what you are doing, what you will build actually, what are your or users' real requirements, etc.
Walter J. Ong wrote an essay a good long awhile ago entitled "Writing is a Technology that Restructures Thought"[1] which is worth reading on this topic.
[1]: https://twinada.wordpress.com/wp-content/uploads/2012/09/708...
This is true for designing, too. I see a lot of people saying Figma is dead because you can prototype directly; for novel UX problems the act of designing — of putting ideas together, assembling a component, even getting good data into a design — is where a lot of my thinking and insights develop. The brain work plus the craft work, the tight loop between thinking and creating is so critical for me and I haven’t found nearly the same feeling when prompting.
In writing and designing I think we often have a thought-feeling first: something inchoate that we can’t quite articulate yet. Getting directly to the medium itself — text or frames and layouts — is how we give shape to that feeling and turn it into a concept, insight or design.
Most of my projects are born out of scribbles on paper, system diagrams with boxes and little arrows to try to describe the system I want to build or my thought process written down like in this post.
When I get it on paper and everything feels right I start creating the codebase but I have to get it down first, feels like I remember it more after I save my thoughts to external paper storage.
For me, writing is also a thinking tool, that is why I don't use AI to write. But using AI to generate ideas for writing? All the time :D (That way, I don't need to wait for that inspiration). I like the idea of scheduling it though!
One of the biggest thing we lose as we replace workflows with AI are the ancillary benefits of the process of writing (prose or code), design, or anything else.
You may produce an acceptable result faster with AI, but the deep understanding, questioning your own assumptions, and correcting your own errors only come from the actual writing process.
And these are not nice to haves because that cognitive context drives all downstream work.
"Writing is nature's way of letting you know how sloppy your thinking is."
--Richard Guindon
When i started writing i felt the pressure to always go from draft to a polished piece. i posted a couple things i worked semi hard on and received 0 views/reads because i don't really have much of an online presence at all.
From there i kinda just moved on and write purely for myself, and use it to up my own thoughts. Very rarely, something will receive a second pass days later, and thats just more to go back on my past thoughts and try to tighten them if i feel that is needed.
I tend to split my day into two parts, my work hours and my "unplug" hours, and the writing was mostly landing in those unplug hours as a way to sorta summarize my day. Last week or so I decided im moving that writing into the very first thing I do each day, and it has really been absurdly effective at getting new ideas flowing quickly. I used to depend on my later day brain that was somewhat "depleted", for lack of a better way to describe how i work, and from there that would kinda birth what i work on the next morning, with maybe some iteration while working.
Now instead I just do both, I open the day with ~500-1500 words, just anything that comes out, then i potentially get stuck, and ill maybe dump that to a model as just a modern rubber duck, not anything like "write for me, or finish this thought", just a kinda nudge to really toss back at me what im fully considering and then maybe i pivot back and chase down the most interesting of the topics for a few hundred more words, or get straight to work on what i thought was the most vital of all those ideas to chase while im fresh in the morning.
Writing is a good thinking tool.
But, to the claim of how to think in the age of LLMs, I think it’s worth contrasting the other approach, which is a dialog with the LLM; two things are needed IMO to keep things honest:
First, you need to keep asking the LLM to explain things, until you understand what it did. Lots of angles here; have the LLM make a design/product doc, write one-off architecture explainers, write throwaway data-viz tools to explain the data distribution. Then ask a fresh copy to adversarially review the core concepts. Try asking a different frontier model too.
Second, you need to push for “proof”, in other words, ask for demos and try it yourself. Imagine yourself a CEO or VC; how do you know if the output of an entire org is vaporware? One thing to beware is launching into a field where you don’t have expertise and can’t actually validate the output. This takes time of course, but for example if you write a stress test script and get CPU/QPS numbers, these complex validators are IME quite reliable when you apply the same rigor from 1) above to their construction.
Words are a communicable but ultimately lossy map of reality, experience of which we cannot otherwise convey; if the goal, the final artefact is itself a map (e.g., a thesis), using writing at earlier stages is, in a way, beginning to sketch out said map.
I endlessly enjoyed the comparison with a Turning Machine. When I study someone's complex work, I do notes to keep several things in my sight scope: a piece of paper, PowerPoint slide or some fancy markdown text editor with syntax highlight. Seems like that this focusing is somewhat the natural way of building neuronal connections: if a logical piece is missing we have to use imagination to complete it and only then it nicely fits into our brain's "hologram" of the world.
There is a wonderful book "Exploring Writing" by John Langan. I found it in our library when I was in my PhD writing phase. I highly recommend it to anyone who has problems building text and who wants to learn how to master its structuring.
I always carry a small Moleskine notebook, the pocket-sized hardcover with grid paper, for notes, thoughts, and whatever else comes to mind during the day. Each page is numbered, and I continue the numbering as I move from one notebook to the next. This allows quick reference to past ideas, thoughts, or notes I may have in an older notebook, or even a few pages back. It is the primary way I get thoughts to paper, and is the "entry point" to all my writing and thinking.
Notebooks do not crash, do not freeze, and need only you and a pen. My notebooks often remind me of this passage from "Zen and the Art of Motorcycle Maintenance":
> “For this you keep a lab notebook. Everything gets written down, formally, so that you know at all times where you are, where you’ve been, where you’re going and where you want to get. In scientific work and electronics technology this is necessary because otherwise the problems get so complex you get lost in them and confused and forget what you know and what you don’t know and have to give up.”
> Robert M. Pirsig, Zen and the Art of Motorcycle Maintenance
It's an attractive thought, this comparative look at FA and TM. However it is misleading to an extent.
A Turing Machine's capabilities exceed the FA's because it has a 'store of knowledge'. It is both recording and reading, repeatedly. There is erasure, too. So if we're aspiring to TM-hood, the guidance seems to be write, and re-read (your own thoughts), and re-evaluate, and re-write. This process is subject to the halting problem. /g
An observation as it relates to LLMs, anecdotal. I noticed that when I screenshot a handwritten scratchpad of my thinking, rather than just write a prompt with same thinking, they seem to be more “eager” to respond and more keen to understand the ideas. Maybe an illusion but if anyone else noticed this it would make two of us.
Reading Murat's blog around the start of the year introduced me to the idea of freewriting. I built a tool that I still use weekly for coming up with new ideas / exploring thoughts.
https://flow-six-henna.vercel.app https://github.com/sno6/flow
(Fully local btw)
I have seen the same thing happen in multiple domains. You may have identified a problem to solve, but the act of solving it, by writing it down, by writing a program, building a tool, making a device, or even carving from stone.
As you work on it the problem becomes more clear and seems to tell you what the actual shape of the problem is and you have to adapt your solution to that actual problem, even if it ignores certain aspects of the original idea.
Writing it down and trying to clarify it is one of the cheapest ways to get to the real answer.
A common refrain for teachers and writers is that they learned so much producing their work. You think you know it, and then you go to teach it and realize how much you didn't know.
I'm a big fan of marbled composition books. They're cheap and durable enough. You can write in them without a table. I have 5-6 of them going at once for various tasks. And somehow (for me) the ideas flow more freely longhand than they do at the keyboard. When full, you can cut the spine off with a box cutter and scan it. G4 compression loses the color, but makes really small PDFs.
It's easy to produce better written content than an LLM. And that's good for the reader and the writer.
I have been finding I spend more time writing when working with AI. While I do let it generate docs, it does not always do a great job and I end up reorganizing, reframing, or changing vocabulary. Those passes end up require rigorous thinking.
There has been some occasions where I cannot use AI as a thinking partner. It doesn’t have the imagination, intuition, or judgement. I have been relying more on my team in those cases.
This article reminds me of another method: grabbing paper and pencil and start doodling around to work out some ideas.
There's always this peculiarity regarding the fact that writing by hand, is not the same as writing by kbd. So I'm always confused which of these two actually authors, mean, though I agree - any sort of note taking is better than none.
Writing is a good (and necessary) tool for thinking.
Not all writing needs to be published.
Writing is not helpful just because it has Turing-tape memory or because it reduces noise in your signal to others.
It's mainly helpful in changing an exercise for youself into something useful for others, that requires you actually adopt their perspectives and migrate them to yours (or realize the error of your ways). You take on the capability not just to convey ideas but also to change the world.
Interestingly what has worked very well for me is that when I start a new project, I just have to start drawing a few boxes and connect them as I expect them to be communicating and with just an hour or so of doing this, I find myself ready to write code as if there was a block that got completely untangled with putting it on paper.
I have read many articles on the importance of writing, in management, in understanding things etc.
I always noticed that very few people actually write and very few people read.
Fast forward to now, LLMs happily write reams and even fewer people read.
> Yet the only difference between a FA and a TM is that
> the TM, unlike the FA, has paper and pencil.
> Think about it.
The analogy doesn't works if you really think about it. A TM with a finite tape is equivalent to an FA. The fundamental difference between a TM and an FA is that a TM has infinite space.
(Yes, I know I missed the point and am not very fun at parties.)
Being forced to take notes and write essays in school made me hate handwriting specifically and dislike writing in general. Now that I have a choice, I never use stationery or take notes for any purpose, and everything useful that I learned or did in my entire life has been done without writing being a part of the process.
Two things came from reading this. First, I feel inspired to write regularly again. Second, I need to read more of this blog. Thanks!
This has cause/effect backwards.
Writing for me anyway is more like a general anxiety release valve.
Thinking is we just do without external tools as we reassess frame to frame due to the world around us not being static; we develop object permanence of a tree for a while but are burning calories to replace on a much shorter timeline; whole lot of physical state still updating on shorter timelines than a tree; so our brains automatically always wipe and refresh the canvas as a natural consequence of relative entropy
We track these deltas and how to deal with them; writing helps deal with scenarios where there is no roof to fix to stay sheltered. What do I do with these thoughts with nowhere to go; I have food, I have shelter? Writing.
make it a habit of writing every day a couple sentences in the morning and another few in the evening, and if using a computer turn spellchecker off
Chain of thought, but for humans!
> Don't be discouraged by how bad the first draft was. McPhee says the way to do a piece of writing is three or four times over, never once. This is good news.
This also applies to code. Taking your agent's first draft as a sample and doing a reimplementation often yields an even cleaner version.
Once you do ship, the drafts' weaknesses provide codebase signal. Where should you shore up the architecture - or create more reusability, where is the documentation inadequate. Do you need to bake invariants deeper in so they're harder to violate (custom lints, stricter validation...)
And yeah. Writing is clutch too.
The human mind has a small L1 cache. High IQ people tends to have larger L1 cache, and don't understand when others can't follow their arguments. Not understanding that's it's dumb.
Writing as a thinking tool has become sort of a meme these days.
And, yes, I also generally believe it’s a good thing to use it as a tool. I try to do use it as often as I can.
But… I think it’s also important to note that there are - like with almost anything - pitfalls and downsides. I rarely see them discussed and thus want to bring them up:
For highly analytical people, writing may become counterproductive. Especially, when it is used to continuously elaborate thoughts rather than to challenge assumptions, test hypotheses or reach decisions.
It can lead to over-analyzing or pseudo-rationalizing.
Ask your favorite LLM for scientific references like this one: https://pubmed.ncbi.nlm.nih.gov/40137068/
Beyond all this, there's also tailoring your message to your audience.
In sales, you might call this finding "words that work" or "the pain points". AI will not know how to do this because it's getting a vibe check of the room.
You cannot merely be a sensory part for the AI unless you want to sound as cringe and out-of-touch as the majority of the training data (stale social media). Garbage in, garbage out.
That's how CoT got its name.
Wow is this the next billion dollar idea? Which startups are tackling this problem?
I drove my teachers nuts with my unconventional writing process. I start with a blank word processor document, and start making notes. Then I rearrange them, and finally I start turning it into an essay. My teachers stood over me, demanding that I stop misbehaving, and write an essay from start to finish. I could not do that. My brain does not work that way. I can not keep enough things in my head to organize a few pages that way.
---
I was once thrown out of a job interview after their secretary yelled at me for what seemed like 5 minutes because I was filling out a form from the shortest blank to the longest blank rather than from the top to the bottom. I had experienced such a trying day, that I just could not bring myself to fill out anything but the next shortest field. All the while, this crazy lady was yelling at me as I had to stand at her desk in front of a room of HR scum/manager scum and job applicants.
---
I classify linear thinking as one useful way to check if something makes sense, not the only way to think.
[flagged]
"Complexity in prose is usually a place to hide sloppy thinking, or a way to weasel out of taking a stance. If you can't say it plainly, you probably haven't thought it through yet."
This hit hard. Great article.
[flagged]
The place this surprised me most was before writing code. On a recent project I wrote a plain plan file first: numbered stages, what each one should do, what "done" means. Half the real decisions happened while writing it, not while building. Questions like "what happens when the external service is down" only showed up because I had to put the step into a sentence.
It also made the work resumable. Coming back after a few days, the file told me exactly where I was and why things were the way they were, which no amount of reading my own code did.
[flagged]
this is great but machines can think better than us now so we don't need to think
Im even saying this with some level of sincerity
When I had started my PhD, I thought the writing part of a paper was just the last thing I needed to do to summarize my results, like a boring epilogue to the more exciting science. What surprised me was how much of the scientific process relied on my ability to convey my ideas to someone else. And to be able to do that you need clarity of mind, you need to have worked through multiple drafts to be able to get to your point as efficiently and clearly as possible. So many times I only discovered what I was actually researching during the writing part.
The problem with AI writing is that it makes people believe that writing is just writing and not a tool for thinking very deeply about the topic you are writing about. I am not completely opposed to AI assisted writing, but if I see AI writing, it’s telling me that the author tried to take a shortcut in their own thinking and it’s a good heuristic that the ideas will not be thought through enough to warrant my complete attention.