Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

I'm constantly bewildered by this notion that writing by hand is slow and thus bad, and that typing is fast and consequently good.

In my daily routine work as a programmer I find most of my work consists of thinking rather than writing. Or to twist the words a little: I don't think my typing impairs my creative ability, because the hard part of my job is thinking out the right solution. If you can't hold that thought in your head without typing the solution into your program quick enough to run and test it, perhaps you're not seeing patterns clearly.

As I work I constantly scribble notes on paper as I find it helps me think. When debugging a concrete problem, I find myself jotting down elements of the stack trace on paper so I can more easily retrace my steps. Concurrently I write down interesting things I come across that needs checking which I can return to when I'm done with my current line of thought.

Yet I'm fully aware I'm moving against the tide. I occasionally write longer pieces by hand several times a week, such as theories and findings. This helps me internalise patterns, solutions, and conclusions to interesting problems. Occasionally there are patterns and I can correlate good solutions to a problem to one I've solved in the past. But foremost it helps me _think_ better about the types of problems I'm trying to solve.

Programming is a creative discipline and not always about reapplying the same old patterns others have used before you. It's about craftsmanship and about learning the trade; about recognising those patterns and seeing new opportunity.

More to the point, my limitation isn't the speed at which I type things into my computer. The limitation is my brain not thinking fast enough.



I see this argument come up all the time to argue against typing faster, learning a decent editor, and now typing vs writing. Like with you, the hardest part of my job, and also the most time-consuming, is thinking out the right solution. I draw different lessons from that than you do, though.

First, since thinking is the hardest part, it's important to eliminate as many distractions as possible. Having to break concentration because I'm writing/typing is very unhelpful. Writing or typing with poor typing skills breaks concentration for longer periods of time.

Second, a nontrivial part of "thinking" is actually reading code spread across multiple files. Since I use vim, typing speed helps me to quickly get to the sections of code that I need to review. This greatly speeds up the thinking process.

Of course, I definitely do write stuff out at times, and I find I can think very well with a whiteboard. These are mostly for things that need to be diagrammed out in two dimensions (which a lot of things do need to be).


I have been puzzling over one specific GUI problem in my iOS App for several months. From time to time I try to write actual source code, only to find myself stymied. However I have continued to contemplate the problem this whole time.

I expect I have a solution readily at hand, that won't even be very difficult to implement. Quite likely it won't be more than 30 to 50 lines of code. However I would not have come up with those 30 to 50 lines if I had not spent three months just thinking about this particular problem.


For me, it's not that handwriting is a bottleneck in getting my work done; it's that it's psychologically annoying.

For instance, I also get severely annoyed sitting at red lights or driving behind someone going 10 mph under the speed limit (I joke with people that the only thing that ever makes me angry is having a green light turn red right before I get to it). Is it really going to make that much of a difference in getting where I'm going? No, maybe 1-2 minutes top. But the mental anguish it causes is quite bothersome to me, and it's the same way with writing by hand.


From your post I get the sense that you realise that your emotional response to impatience is out of proportion to the cause. If you would like to control that feeling of mental anguish, might I suggest you take up meditation?

I've found that regular practice of the Focussed Attention style of meditation does wonders for being able to rapidly dismantle my feelings of frustration and take control of my mental state when I'm "in the field", as it were.


I find that my own mental anguish is most severe when I expect something good, but am forced to do without.

That is, I have no problem going without food, even for days on end, if I choose to do so. It's unpleasant at first but I get used to it.

However if I am looking forward to a good meal, but cannot obtain it, say because I don't have the money, or I am late to an event where the food was all eaten up before I arrived, then I am really, really upset about it - even though I only go without food for a few hours.


I can hope you are merely invoking hyperbole. Otherwise... wow.


"I joke with people that..."


Fair enough. Even the speed of writing felt overstated to me. And going below the speed limit. I mean, sure there are some days someone going slow annoys me. There are some days I'm sure I'm that person. They are thankfully low on the realm of crap I notice, though.

For me, writing is a bit slower than typing. However, arranging thoughts on paper is faster than the same in a computer. Heaven help you if you want to write something that includes basic graphs or spacial information. And I'm not an artist.


I don't think the speed of writing is overstated. I am not a touch typist, and don't type fast (without typos), but it's __still__ faster and neater than writing by hand. Nearly every time I write something, I get part-way in, and think, "Man, this would be so much faster if I were typing ...", or "This would be easier to read if I could insert a few lines here".

I still like writing, though.


Your style of work is of course OK, but I'd like to point out that it's not the only one possible.

For example I tend to experiment with code as soon as I think I know what a given task is about. I fire up the REPL, create a new file and start writing. This code is of course never meant to go into production: it's just a way of structuring my thoughts. Often I do this "prototyping" in a different language than the one used for the project: languages provide certain frameworks for solving problems and by using the correct one I can cut down on the amount of code I need to write to express my thoughts (it also makes it impossible to just git add a messy prototype to the project).

I also use pen and paper sometimes, only when the problem I'm facing is larger then a few pages of code. Rather than writing I'm drawing simplified diagrams and only write down the most important bullet points for the design. But even then I tend to write at least some code as soon as possible. I treat code as one of the best tools available to help my brain think.

So for me and people working in a similar way typing speed and a good editor are important. Especially because I write so much of a disposable, throwaway code. I'm not saying it's a better way of working, I just wanted to explain to you that it's not necessarily worse than your style.


Do you keep a log of your experiments?

I found doing so improved both my ability to recall and I also planned ahead about what I was going to test / learn.

Drawing diagrams of process flow before coding, mapping code after bashing away, though of course there are tools that automate this, help me. Drawing and writing reflectively is different to doing.


> Do you keep a log of your experiments?

Not always, but when I investigate something particularly interesting or just learned something generally useful I usually convert my playground - be it a dump from the REPL or a file I was scribbling in - into Literate Programming style document. The process of inventing narrative for the code indeed makes it easier to remember. LP is actually a very neat tool I'd like to see more people use.


Agreed, as a programmer, you are constantly able to think faster than you can express yourself, and it certainly feels as though nothing you can do (not even typing) allows you to lay out your thoughts and play around with them does it justice. Some of my best memories and learnings were discovered on paper and pen while at my keyboard. And often we stick them up on the walls afterward to serve a as a reminder and reference.

One good example of this is state machines, sometimes there is just so much state to track in a system, your brain no longer than handle enough combinations, or dimensions.

I like to draw them out (which is why I started https://collusionapp.com), and then outsource some of the brain work to others by sharing it as well so they can help me with the confusing aspects of the states once I've mentally unloaded them onto the page.

I think drawing the thoughts out lets you then "forget" the entire context of the problem and allows your "mind space" to kind of focus on the sub-parts or details of the problem.

I just don't feel like ONLY text can solve that while we still have people like us who were brought up with pen and paper.

I really think the benefit of technology here over conventional handwriting is the ability to outsource thinking through sharing, which helps with not thinking fast enough as well as being able to deliver your message in a freeform and quick manner, especially with creative disciplines.

I think having super quick access is also important before you lose thoughts too, I guess having tabs open already kind of like blank paper is super useful.


Typing is faster than thinking, but not once you've figured out what you want to type.

My cadence is think;type;think;type. Replacing this by think;t-y-p-e;think;t-y-p-e (when I type with one hand, or on a tablet's virtual keyboard, or leaning over someone's keyboard instead of sitting or standing in front of one) is frustrating and breaks my flow.

Similarly, compiling may be faster than thinking, but a slow compiler breaks my concentration.


I think both are valuable and I often scribble things if I'm working on something challenging. That said being able to write or type faster has its place because at the end of the day your program will require typing out in its entirety on a computer and nobody wants to do that by using an on-screen keyboard on their smartphone, even if the hardest part is coming up with the actual solution.


Entirely as a result of my years of coding, I am an embarrassing typist. Super-quick touch-typing and rattly noises, but I live on the backspace key. I live so much on the backspace key, that I think it kills any efficiency.

I should probably play that zombie learn-to-type game or something for a while.


> When debugging ... I find myself jotting down elements of the stack trace on paper

Being self-taught, I cannot adequately convey my gratitude for this nugget of reality. Thank you a thousand times.


I have a CS degree and interned at IBM, and it's a novel idea for me as well. I'll have to give it a try.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: