On a small scale, this is exactly why when I'm stuck on a development problem (an elusive bug or trying to hammer out a good design), a thorough email about it to a colleague often provides the breakthrough. Because you're taking up a co-worker's time & energy, it motivates you to lay out the problem with the right amount of context, walk through some of the tradeoffs or things you've considered, etc.
And it's not unusual at all for the email to never get sent - among my closest co-workers we'll often tell each other something like, "I couldn't figure out how to fix XYZ so I wrote you a long email about it, fixed the problem, and deleted the email".
(the downside is that once you've experienced this a few times, crummy problem reports from others kind of drive you crazy)
An alternative that I have tried in the past, when stuck with a development issue, is to write an analysis of the problem. This then leads to insights, which typically reveals the way forward.
I find this much better than PG's previous essay, "write simply"[1], even if I don't agree with all of it (e.g. see jasode's comment[2]).
Meanwhile, at work I've been trying to encourage the habit of writing a 2-4 page "memo" when conveying critical decisions. It's proving difficult to root out the impulsive habit of "let's put together a shoddy slide deck with broken thoughts, and hurry through it on a call".
When we're all remote, whether you like it or not, people will judge you by your words. And when you're not writing code, most of what you do is writing: design documents, proposals for budget, Git commit messages, feature requests, usage guides, investigative reports, synthesizing complex discussion threads into useful summaries, technical presentations, email, and synchronous chat. Not least of all, robust writing skills allow you to "defend" your arguments with nuance and concede with grace.
>You have to pretend to be a neutral reader who knows nothing of what's in your head, only what you wrote. [...] If you make an effort, you can read your writing as if you were a complete stranger, and when you do the news is usually bad.
Every time I see some glorious "this explains git in a single image", it's usually an interesting image for someone who already understands git, yet is entirely, 100%, opaque to someone who doesn't yet know git.
[This comment brought to you by a thread [1] from earlier today]
I'm glad that DevEx is finally a 'coined term' because I've been shouting into the maelstrom for most of my career.
It is so common for someone to try to gently tell someone that their system (or at least the description) is a steaming pile of self-indulgent garbage by saying something like, "I don't think that's a good idea," or "This seems pretty complicated," only for the originator to take this as an invitation to continue evangelizing (aka talking about how brilliant they are).
In the age of everyone working remotely using screen sharing software, there is no excuse for not spending time watching someone try to use the tools or apis that you've ~foisted off~ given them. I wish it were just ignorance but too often it feels willful. Nothing will deflate your ego like trying in earnest to teach someone to do what you do. Or fluff it up, depending on how you choose to process that information.
To repurpose an old aphorism: if you meet an idiot in the morning, you met an idiot. If you meet idiots all day, you're the idiot.
I saw this earlier, and while I’ve been using git for many years, I think this graphic made me understand git less. Maybe because most of my usage is committing and resetting things and not doing the more wacky git commands?
It would help if PG would learn to write clearly. His LISP books are masterpieces. His personal essays are pretty opaque unless you’ve read him consistently. This one reads from the outside as pointless techbro navel gazing.
As someone who writes, I can relate to a lot of this, but there are aspects that aren't true to my experience.
> If you make an effort, you can read your writing as if you were a complete stranger
Somewhat. Through effort I can take on a more objective perspective, but there is no platonic stranger I could pick out. Everyone has his own context and his own needs. What I try to do instead is visualize people I know who are not close friends. I think "What would X think if she were reading this?"
> If he's not satisfied because you failed to mention x or didn't qualify some sentence sufficiently, then you mention x or add more qualifications
I think this game is endless. There will always be a nitpicker (Hello!). I try to say enough to show that I know what I'm talking about, but beyond that I find that it chokes the broader point that I want to make.
~
For me, the real value is that writing makes language almost physical. What would normally vanish in a moment in speech becomes something you can touch, sculpt, and rearrange. And in doing so you're forced to contend with the form of it and really think through every word, and every train of thought ("Is this really what I want to say? Is this really how I should say it?"). I think this can be done in speech as well if you're in a true debate with someone who cares about language, but it's much harder.
And depending on your temperament, there's a "those who can't do teach" problem where writing about something makes you feel like an expert on it. As always, the important thing is to act.
> Somewhat. Through effort I can take on a more objective perspective, but there is no platonic stranger I could pick out. Everyone has his own context and his own needs. What I try to do instead is visualize people I know who are not close friends. I think "What would X think if she were reading this?"
Writing something down and then ignoring it for a few days is another way to get a fresh view of your writing and see the problems. Not an original idea: one of my profs in grad school suggested it. Best writing advice I've ever received. (Like every acolyte in history I of course ignored it at the time.)
It seems like a quantum effect of our consciousness, 'putting the ideas into words changed them'. It's a perpetual chase after wording, and when you reach the post, it's already far-off again. This thought sheds some insight not only only on semiology and systems of symbols in human language, but into what I've been learning writing poems, and why it's so much fun to do it, I think, because the goal of the expression is changed, or heightened, by the act of reaching or moving to it. So it's sometimes, or very often for certain comparisons, more involved than programming, in terms of working memory.
On the topic of essay writing, the book Writing Under Pressure: The Quick Writing Process is a 60's university professor gem and fully informed me as to how I approach writing (and reading) nonfiction, anything which has an argument, a thesis, points to make. It turns the random churn of paragraphs into a pragmatic scientific method.
> Putting ideas into words doesn't have to mean writing, of course. You can also do it the old way, by talking. But in my experience, writing is the stricter test.
As pg brings it up, writing is one of the many ways to shape ideas and even change them. But I wouldn’t go so far to say it’s the stricter test.
Each way of expressing and sharing ideas will test it in different ways.
Writing may look for conciseness, flow and completeness while talking about it can validate ideas for collaborative building.
Going a step forward, I’d suggest that putting Ideas into Action IS the stricter test.
I agree with a lot of it, except for this: "And someone who never writes has no fully formed ideas about anything nontrivial." I guess it depends your definitions of "nontrivial" and "fully formed idea". But consider all the experienced auto mechanics in the world. Few of them have written anything about it, but I'm sure I would judge most of them to have fully-formed ideas about a nontrivial topic. To generalize, I'm claiming that experience can give you fully-formed ideas whether you write or not (although writing will probably help).
> I'm not saying that writing is the best way to explore all ideas. If you have ideas about architecture, presumably the best way to explore them is to build actual buildings. What I'm saying is that however much you learn from exploring ideas in other ways, you'll still learn new things from writing about them.
'Writing is nature's way of telling us how lousy our thinking is.'
- Leslie Lamport
I am finding more and more intelligent people have been able to coalesce my thinking into smaller and smaller parts. I am beginning to accept meritocracy is brutal.
Writing in a single language in long-form is not the only way to articulate complex ideas.
While text offers great features, large blocks of it are a mode of communication that is falling out of popular use with good reason as today's world is hyper-connected and people access media more purposefully. They often come to media seeking clarity around a particular concept. In short, they usually seek objective reference information (even if it's for some highly specific issue), rather than opine. Long-form, OTOH, provides background reasoning and opine. It may be well structured and correct, but it's not the target semantic category for most itches that need to be scratched.
This situation is compounded by globalization. Particularly in English, the general level of literacy is falling. Larger vocabularies and complex grammatical structures are no longer comprehensible to the majority of English readers, who are non-native.
While one could challenge PG to rewrite his essays as i18n infographics, perversely this would make autonomous translation more difficult due to rasterization of text. Quip: Perhaps HTML+CSS+SVG for less-text diagramming is the upcoming communicative norm? Abstract concepts rendered as IKEA-instructions through PC genericized cuddle-bugs. It's a thing on twitter, I know.
As programmers, at least when working on complex systems, we actually break large ideas in to smaller ones and use the least powerful language to tackle each of them. There is something to be said for carrying this philosophy to all communications.
The risk with relying on reading alone is dogma: quoting someone else's words as being unassailable truth.
I love a good quote, or aphorism, or copy-pasta'd thought technology as much as anyone. But there's profound power in understanding ideas well enough to re-formulate them in your own words, maybe even without referencing their origins. Best way to do that is practice, practice, practice.
A pg essay is a work of modern art these days; I think he distills so much that it ends up taking a real effort to reconstruct meaning out of what’s left.
Let’s see if I got the message:
* writing is difficult.
* writing about a topic forces you to test your knowledge of that topic.
* you often learn about the topic, and that often changes how you view that topic.
* the reader should write more with the explicit purpose of learning about a topic.
And the killer point:
* if you haven’t written about a topic, you can’t know it well.
While your points are absolutely true as well, this is not what I got from the essay.
What I got from it, which is subtly different from what you say, but resonates with my experience a lot more, is that the brain has a habit of assuring itself it has the whole picture about a topic, almost to the point of delusion; it's kind of how the brain works; it generalises things into abstract patterns, and fills in the gaps for you. It's not until you're forced to externalise the information, and explicitly face the knowledge gaps you didn't even realise your brain had filled-in for you, that you realise how many of them there were in the first place.
Writing is a great way of a) spotting, b) attempting to fill / reflect on the gaps, c) realising you never had the full information in the first place, d) consciously deciding to fill in these gaps properly.
So yes, the process also helps you learn as a side-effect, but the point is not learning per-se; after all there are other ways to learn 'properly', where writing things down isn't strictly necessary. For me the main point of the article is the shock of how much implicit knowledge turns out to simply not be there when you try to prod it explicitly, and why writing things down is therefore such a good exercise/habit to cultivate in the first place, since trying to verbalise things explicitly on paper is an effective technique that forces you to 'prod' areas you didn't know needed prodding.
When exposing makes you consider the audience thoughtfully, yes, it's a whole other game then. It's so common for me that I think some part or a piece of writing is fine. But when I consider posting it, or submitting to a literary contest, suddenly I see that piece, naked, before the panelists, and it's a poor show. Not until I make that decision does my brain stop furninishing mental decorators to dress up the rags which I'd been subconsciously overlooking, or was simply worried about other more pressing issues elsewhere.
> Is there a requirement for this effect to work that you publish your writing, exposing it to external scrutiny?
It isn't the publication that confers this particular benefit, if that's what you are asking, but the threat of publication.
But the threat needs to be credible to confer the benefit. Whether the threat can remain credible if the work is never published probably differs from person to person.
What you wrote is my takeaway from the article as well. There's an expression "if you can't do, teach!" which can be interpreted in different ways, but I would say it means you get much better at something when you are forced to write, re-read/interpret and explain it.
> if you haven’t written about a topic, you can’t know it well.
Well, writing is encoding of ideas into a semi-precise format of written language. The intention is to communicate as precisely as you can to other humans. When you have ideas brewing in the amygdala + prefrontal cortex, they're hazy. Writing them down requires vetting of imprecise aspects of your hazy ideas.
Writing can be replaced by any other encoding format (talking to a friend, giving a lecture, etc), but that's still, for me, in the English language. May be just thinking more precisely about it? We still often 'think' in our home language even if no communication is involved, some interaction with the auditory region of the brain. The human brain is complex. Some people also find vizualization of ideas very powerful, probably involves activation of some regions of the occipital lobes.
Writing just forces you to be precise, it is not required to know something well. That seems like a bold, unsubstantiated claim. Very, ahem...modern artsy.
You got this right. I also think of PG very highly for his ability to communicate with words. His video interviews might not be this deep & thoughtful but he definitely mastered the art of writing.
Writing well involves thinking clearly about other people. Whether I write notes to myself that are later useful is one thing. Whether anyone else knows wtf I'm talking about is a whole other kettle of fish.
Most people think they're writing for other people when they're just talking to themselves, from lack of practice, lack of concern, or a mixture of both.
(Reusing my comment[1] from a different thread the other day.)
Many people think Socrates is "against writing" by all means. In the dialogue Phaedrus, he—well, Socrates as portrayed by Plato—does sort of say that writing is okay, as long as you're doing it in the right spirit (seeking truth) and are not deceiving your audience.
What Socrates rails against is the "speechmakers" who don't truly know what they're talking about, but instead write based on "what is likely" to persuade the audience.
Plato, in writing words into Socrate's mouth, was cautioning against the atrophy of the skill of memorization of oratory, which was how histories had been passed up to that time.
Whether this was Plato's idea, or Socrates', the idea wasn't wrong. It was, however, irrelevant. It is acceptable for that skill to atrophy if we replace it with something far more durable.
The irony of putting that in writing would not have been lost on Plato.
> And someone who never writes has no fully formed ideas about anything nontrivial.
This would imply that Socrates only had trivial ideas. Socrates would disagree with this statement, and so would a large number of people. This belief seems like a cognitive bias to me. If you prefer written ideas, unwritten ideas may seem trivial to you.
Well, Socrates (to the extent he actually existed) did form well reasoned arguments, but I’m sure that was truly laborious.
The generalization of pg’s argument is the classic “EDGE” method (“Explain, Demonstrate, Guide, and Evaluate”). You don’t understand something until you can “fully” explain it to others.
And note that our understanding of Socrates is a product of Plato. Thoughts that might have been half-baked in Socrates’ telling could be thought through and expanded by Plato through the process described in this essay. Or have been formulated de novo by Plato and then ascribed to Socrates.
I think people who can compose complete well ordered arguments in their head are like those who can play chess well while blindfolded. It's an extraordinary talent.
Agree with that. However, in 2022 writing is not the only way to order your thoughts outside your head. I for example have put together Youtube videos without writing anything down. The process is like this:
- Think of a point I'd want to make, perhaps in 20-60 seconds.
- Do a few video takes until I believe it's good enough. Sometimes the first take works.
- Keep doing it until I have enough material, then edit the video.
As someone who is in his 50s though, I can understand the point of view of someone who grew up in an age in which writing was the obvious way. Paul might think differently if he tried to start a Youtube channel, but it doesn't seem to be interesting to him.
Paul does mention talking as an alternative to writing though. It is not that talking is not interesting to him. Writing is just a more efficient process.
For example, when editing video, there is a lot of friction due to the software you are using. Writing can have a lot less friction. You can literally just take a pen and paper avoiding a computer altogether.
That being said, one point Paul makes, is that finding a conversation partner that is willing to patiently listen to you as you explain ideas may be challenging. Filming a video and putting it out there can make it less challenging. And you can get some constructive feedback from many individuals. Although, I am not sure to what extent Youtube is the right medium for this exercise.
Since those two didn’t write anything down - how do we know we’re not just getting their followers ideas written down and worked out. Maybe they were just catalysts that kicked off a larger scale thinking and writing project of what PG describes.
In the end, whatever was written down is what their long term effect on the world was.
> And someone who never writes has no fully formed ideas about anything nontrivial.
This is harsh. As someone who struggled with writing text a lot, I seriously considered dropping out of state U and going to Devry for an IT degree freshman year to avoid mandatory writing classes. I still graduated with a 3.9 as I was able to focus on CS/math and get passed the writing pre-reqs. I thoroughly enjoyed the more advanced math and theoretical CS classes, where I was spending good chunks of the weekend writing proofs. I can imagine that one gets a similar kind of understanding and joy from writing a good textual argument as writing a good proof.
"Web sites prove their identity via certificates. Firefox does not trust this site because it uses a certificate that is not valid for paulgraham.com. The certificate is only valid for the following names: .store.yahoo.com, .csell.store.yahoo.net, .store.yahoo.net, .us-dc1-edit.store.yahoo.net, .us-dc1.csell.store.yahoo.net, .us-dc2-edit.store.yahoo.net, .us-dc2.csell.store.yahoo.net, store.yahoo.com, store.yahoo.net, .stores.yahoo.net, stores.yahoo.net
A little trivia for those that don’t know, PGs site is hosted on Yahoo Store as that is what Viaweb (his first startup) became when it was acquired by Yahoo in the mid 90s.
The certificate is untrusted for the domain, but Firefox should let you click through the warning screen and view the page. Or you can adjust the URL to use http:
Can someone more knowledgeable than me on the inner workings of the web explain why Paul Graham website is one of the few(only?) website that I go where absolutely NO reader mode works? I've tried firefox, chrome, edge.
I have no idea how web dev works but it seems to me that his web page looks like it was made in the late 90s or early 00s and it's almost all buttons and text. Why, oh why it's the only website that I go that defies my reader mode?
Sincerely,
Someone who can only read more than one paragraph of text on reader mode.
When I’ve writing about something, I do find that my comprehension levels up. Part of it is writing forces a systematic treatment of a topic, revealing knowledge gaps, or even that I’m flat out wrong about something.
That burst of intense focus on something does seem to stimulate the ability to make connections you hadn’t made before. I suspect part of this is because your unconscious mind is being flooded and gets to work making connections even when you’re taking a break.
In my experience, writing down doesn't help me develop new idea, but exploring new ways to support it or explain process as straightforward as it should be, which I can not do in my head or real-time conversation. As the author says, it takes lots of time and effort to put yourself in a stranger's mind.
I often bang on about Software as a form of literacy. And I have noticed recently that it is actually harder for me at work to express my thoughts in English than just to damn well write some code.
I cannot work out if this is my English is declining or my coding is improving.
If you substitute writing with developing software (or prototyping) and ideas with requirements then you get great advice for making something users want. It even suggest the practice of checking requirements to be precise and complete. Intersting.
The juxtaposition of a comment next to code best illustrates the real advantage natural language has. It's pretty good at moving the mind of the reader into the state intended. To convey information concisely. but isn't always right
>In precisely defined domains it's possible to form complete ideas in your head. People can play chess in their heads, for example. And mathematicians can do some amount of math in their heads, though they don't seem to feel sure of a proof over a certain length till they write it down. But this only seems possible with ideas you can express in a formal language.
For me, at least, programming falls into this category of writing. The difference, however, is that when you're programming, you have three audiences to satisfy. They are, the compiler (or interpreter), the problem to solve, and other programmers. Over time, the writing becomes part of a conversation, as I'll explain below.
The compiler, the first audience, is the one that beginning programs bang their heads against the most. It can have any number of arcane and complex rules and interactions to learn about, and practice, before you can reliably get the compiler to accept your work as valid.
The problem is the audience we're paid to satisfy. It requires that you end up with a workable answer given workable inputs. Satisfying it requires getting to know it a bit, then reaching back into your toolkit of tricks to get just the right set of algorithm and code. It's more of a conversation, that settles down into an agreed upon text. As time goes on, the details become nuanced, and the corner cases handled.
The third audience is the humans who read the program, and those in the future (including yourself!) who might want to join the conversation. All of these people need to be able to read, and adjust, the agreed upon text, or copy it to use for some other problem. As you go, the more you keep this third audience in mind, the easier it is for them to join or even rejoin the conversation.
Reviewing, there are aspects of these audiences to note:
The compiler is fairly easy to satisfy, you can bang away at possibilities and tweak the code until it agrees that your words are valid. Then you can keep tweaking until you make it happy.
Note however, that the compiler can be capricious, it can radically change it's opinion of your work over time. Many a story as been written here about the shock of finding that certain words or phrases are newly irritating to the compiler, or just plain unacceptable. Python is said to have gone through this phase between v2 and v3.
The problem can change as well. New requirements of a wide variety can result in the need to revise the agreed upon text.
The third audience can vary widely. It can be just yourself for a very short time in response to a homework or programming contest problem. It can be your coworkers, past present and future. It can be the world, if the work is open source and widely useful. It can be the users of a library, who will focus narrowly on the interface you provide, while only some dare to peek at the implementation.
I find that the more I keep all three audience in mind, the better the outcome. Thank you Paul for the writing prompt. 8)
It'a a valid certificate for a bunch of Yahoo domains, but its use on paulgraham.com is not trusted. It should throw up a warning screen and let you click through to the site, either temporarily or permanently on a TOFU basis.
Please don't call names or cross into personal attack (regardless of who the person is). It's against the site guidelines, and you can make your substantive points without it.
And it's not unusual at all for the email to never get sent - among my closest co-workers we'll often tell each other something like, "I couldn't figure out how to fix XYZ so I wrote you a long email about it, fixed the problem, and deleted the email".
(the downside is that once you've experienced this a few times, crummy problem reports from others kind of drive you crazy)