Eliezer Talón iOS developer

Become a better writer

“Why Scrum Should Basically Just Die In A Fire” is the title of an article written by Giles Bowkett that caught my attention a few months ago. Among all the topics discussed, he suggested that the Agile Manifesto principle about face-to-face communication “might be to blame” for inspiring Scrum’s daily stand-up.

The argument is that tools available at that time (2001) are not comparable with the ones that exist today. There is no reason anymore for encouraging face-to-face communication. Specially in the context of the stand-up, which often looks more like a morning report, rather than an “effective method of conveying information to and within a development team”.

While I don’t agree with all of Giles’s points, because I believe face-to-face communication has its place, this paragraph resonated with me:

Well-written text very often trumps face-to-face communication. You can refer to well-written text later, instead of relying on your memory. You can’t produce well-written text unless you think carefully. Also, technically speaking, you can literally never produce good code in the first place unless you produce well-written text.

My colleagues sometimes complain that I rely too much on chat when I am working. It’s true that I am a bit of an introvert, but that’s not the cause. Leaving the issue with open offices aside, I love to use chat on a daily basis for three reasons:

  1. It’s asynchronous. I can choose to not be interrupted and answer later if I’m in the zone. That’s important if you want to get something done.
  2. It forces me to write better. If I want the person at the other end to understand me, I have to organise and communicate my ideas clearly.
  3. Written text stay around, spoken words go away. Like the article suggested, “you can refer to well-written text later” if necessary.

That might sound a bit radical, especially when you are sharing an office space with your team. And I’m aware that this practice comes with some problems too. Then again, I think it’s really expensive for a company to take developers out of the zone.

So taking things in balance, to what extent is writing an important resource in a developer’s toolkit?

The importance of good writing skills

Back in 2007 when I was doing my internship, I borrowed the Getting Real book from my mentor. I learnt a lot from it and I think it’s still really good advice today. The last section of chapter 8 talks about a curious hiring policy:

If you are trying to decide between a few people to fill a position, always hire the better writer […]

[…] Good writers know how to communicate. They make things easy to understand. They can put themselves in someone else’s shoes. They know what to omit. They think clearly. And those are the qualities you need.

I took it like this: “if I want to be hired, I must be a good writer”. Since then, I’ve been trying to improve my writing and communication skills. It takes time to get better and I keep making mistakes, but it has helped me a lot. Writing is an essential tool for developers because we spend most of our work time writing: code, documentation, user stories, bug reports, etc.

Let me give you another example. I attended App Builders 2016 last week, where Orta Therox gave a great talk about going open-source in your company by default. One of things he mentioned was that working in that kind of projects makes him a better writer, because he has to:

  • Write code that is going to be read by a lot of people.
  • Write documentation that is going to be read by a lot of people.
  • Send pull-requests explaining clearly what is the contribution about.
  • Report issues when something is not working as expected, detailing how to reproduce it.

You can argue that in the world of open-source such skills are crucial because the way work is done. You can say that when you are working with your team in the same room it is not that important. Maybe. But remember that you play like you practice.

Find the sweet spot

Sometimes face-to-face is really the faster and most efficient way to go. As suggested in the Agile Manifesto, it can convey more information in extended discussions, which would become a mess after scrolling a hundred of messages in Slack or HipChat. As a bonus point, it also helps to build trust within your team, which is extremely important.

But don’t underestimate the power of having good writing skills either. It helps your peers to understand you better. It helps you to stand out as a professional. As with most things in software development, the answer lies on finding the sweet spot. And it’s definitely a path worth exploring.