Skip to main content

Ben Cromwell

Communication

As developers the one thing that’s central to everything is communication. We’re responsible for communicating our ideas and intentions to others and to our future selves. Whether it’s through the code itself, its token names and comments, or through its accompanying documentation. Whether it’s through the commit messages: title and description, or through the pull request content.

It’s often been said that we should optimise our code for reading, not writing, as we spend more time reading it than writing it. Well the same is true for our writing. It should be optimised for the future reader. You aren’t, or shouldn’t, be writing just for its own sake, to tick a box, or so you can say you have documented your code. You’re writing to span the temporal gap between whatever it is you’re working on and its future maintenance requirements. You’re writing to have, an admittedly one-sided, conversation with future maintainers. Often for yourself.

What happens when you use generative AI for it all? Have you read everything it’s produced? Is it well composed? Not overly loquacious? Does it remember to describe the how and the why or is it just summarising the change, which is inherent in the changeset itself and so it has added zero context?

Those are the shorter term problems. The long term is the dulling of your communication skills that will come from not practising and honing your writing every day. The other is the somewhat uncertain nature of these tools. They have to eventually make money, they can’t just burn VC cash indefinitely. When the bubble bursts and the pricing reflects that, can you still afford the subscription?

Writing is human. Writing is how humans convey their thoughts, ideas, feelings to other humans across time. Writing is not something we should allow to be commoditised.