The beauty of writing

I woke up this morning, sleep deprived after my cat woke me up repeatedly last night and discovered I needed to write something about writing. Perhaps it's because I'm reading "Bird by bird" again by Anne Lamott. So here is another post about writing as a software engineer.

I love writing, I love the feeling of knowing there's a seed of a story or an idea inside. With some writing projects I know something is there worth telling, but I don't always know enough about it yet to be sure. Sometimes it requires upfront research and sometimes I think I know enough to start writing and see the idea emerge as I type. The piece advances, in fits and starts, as I go back and research gaps, and often discarding the whole thing and rewriting it again... until it has formed itself into something worth while. Then I send it to people for review and I get more ideas and insights making the piece better again.

The intersection of writing and technology introduces its own dynamics. Writing alone isn’t enough, and neither is pure intellectual will. You must research, read/write code, even conduct experiments, such as simulations and toy implementations, to test your theories and understanding. An idea that sounded right at first can end up being untrue, while some truths simply emerge as a result of your analysis.

Sometimes I write about something because I find it interesting by itself, sometimes its because I need to understand something more deeply as part of my job or because its part of my job to help my organization steer its way through perilous waters. You can’t steer anything if you don’t understand it or where the rocks are likely to lie submerged in front you.

This whole process of writing seems to always result in revelations and learning, it's like uncovering the truth buried in the dirt. Even when I think I know something deeply, I’ll discover an insight, often from a colleague who has a slightly different perspective to me or from looking at other systems with different constraints. But it isn’t just me who ends up learning something, it’s everyone that takes the time to read my writing too.

For aspiring writers who have that itch to write, I give the following advice.

1) Write about something that you find interesting and perhaps deeply curious about. You don’t need to understand the thing before you start, and often you’ll find that you didn’t really understand it anyway. As Leslie Lamport said “Writing shows you how sloppy your thinking is“.

2) Find someone you trust to read your crappy second drafts (the crappy first drafts are for you alone). Let them point out the problems, gaps (with kindness) and try again until you can find the courage to release it to the world, or to some colleagues.

3) Don’t be afraid to have an opinion, take a stand on a hill but be ready to give up that hill on receiving better information; strong opinions, loosely held.

4) Listen to your own internal BS detector. You’ll usually know when you write something that doesn’t stand up (but just in case, that’s what your trusted reviewers are there for too).

I wrote a blog post last year about the benefits of writing: Write for others, but mostly for yourself. As I said in that post, not all my writing becomes public, but it always seems to be worthwhile. Go read it, may be you’re a future writer too.