DEV Community

Yan Cui
Yan Cui

Posted on • Originally published at


My top tips on technical writing after 9 years and 800+ posts

Since Dec 26th 2009, I have written regularly on my blog on a variety of technical topics. Suffice to say that I have had a lot of practice of technical writing!

I love learning, and I love sharing. What I learn I like to share through writing, as it also helps me solidify my understanding too.

Over the last 3 months, my posts have received ~75K views per month. So the evidence suggests that my writings aren’t turning readers away at least!

To help more people share their knowledge and insights, here are a few simple rules that I follow when I write.

Mind the “curse of expertise”

The most important rule of thumb is to always remember you are the expert of your domain. When you share knowledge and experience, you need to be mindful what assumptions you’re making of the reader.

Especially when you discuss the merits or problems of an approach. Always state your assumption and context explicitly upfront. This helps the reader understand WHY you’re doing this, and the constraints you’re working with.

In the immortal words of Simon Sinek, start with why, which brings us to the next point.

Sell the problem, NOT the solution

Like that great scene in “the wolf of wall street” where Di Caprio asked Jon Bernthal to sell him a pen. Create the demand, then supply the solution.

Sell the problem to the reader. Help them understand why it’s a problem worth solving. The merits of your solution are irrelevant without an interesting and worthwhile problem.

Where possible I try to set out what a “good” solution would look like, and what properties it should have. After describing the solution I would then finish off with the tradeoffs I have to make. This would usually revolve around the pillars of cost, complexity and efficiency.

If you don’t define what “good” is upfront, then it’s easy for cognitive biases to creep in. We often subconsciously bend the definition of “good” to fit our solution and lose objectivity in the process. We all have this confirmation bias, there’s no escaping it. But defining “good” ahead of time helps keep us honest with ourselves.

Keep in mind that your solution might only work in specific contexts. If people adopt your solution without understanding the context in which it worked, then they risk failure. Worse yet, if the failures are not obvious enough, then you might have started another cargo cult

Keep it short

On medium, you can see how long your post takes to read and how many people read it start to end. Unsurprisingly there is a clear trend that longer posts have a lower read %.

I compiled the stats for my posts related to serverless and this is what I see.

This is reflected in my personal reading habits too. I tend to finish longer posts over several sitting as I often lose my attention span midway. I’m seldom able to finish a long post in one sitting, even if I ‘m really engaged by it.

What that means to you is that you should keep things short, punchy, and to the point. Don’t linger with your words and try to explain things to the Nth degree.

If need be, use bullet points, and keep each to one line.

Write the post, then read it back a few times. With each run, cut out unnecessary words or rephrase sentences to make them more concise.

For example, “to be or not to be, that is the question” might be vague and leaves a lot to the reader. The longer, more expansive version is actually far less clear!

Be honest

Goes without saying :-P

Picture says a thousand words

Apply common sense, too many pictures is also not good.

Also, keep pictures relevant. We all love cat pictures, but too much of it (or used out-of-context) is off-putting.

Start strong

I follow this advice when giving talks as well, and try to kick off a presentation or post with a strong message.

Think of your reader’s attention span as a currency. You have to earn the audience’s attention before you can spend them on technical discussions.


So that’s it, 6 simple rules that I follow whenever I write. The freecodecamp folks also have some very good advice for writing.

I hope this post helps you improve your writing. If you have any suggestions on how I can improve my own writing style, please feel free to let me know via the comments below.

Top comments (2)

loujaybee profile image
Lou (🚀 Open Up The Cloud ☁️)

I don't have suggestions on improvements... but I would like to know how you generate the time to write so much!? On a separate note: The talk you gave for DAZN, where you mentioned the importance of experimentation and throw-away prototypes did stick with me, and I've considerably upped the amount of experiments and playing that I do as a result!

theburningmonk profile image
Yan Cui

Hey Lou, that's great you are doing more experiments!

As for your question about finding the time - I think there are a couple of contributing factors:

  • I'm passionate about writing and sharing, so I just use my free time to write instead of doing other things (youtube, social media, etc.)
  • A lot of the articles stem from ideas & thoughts that have been brewing in my head for a while before I start writing, which makes them easier to put into words
  • I have gotten more proficient at writing in general over the years, so I have speed and efficiency

Also, I try to be economical with my efforts. I'd do talks based on things I write about and vice versa, and when I do experiments or put together demos, I'd write about them too. From these I gain new insights that I can leverage for my work. And from my work, I encounter new challenges and see patterns emerge, which gives me more ideas for things to write about and experiment on. All of which creates a virtuous cycle really.