Join our community of software engineering leaders and aspirational developers. Always
stay in-the-know by getting the most important news and exclusive content delivered
fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter
in the past. Click the button below to open the re-subscribe form
in a new tab. When you're done, simply close that tab and continue
with this form to complete your subscription.
The New Stack does not sell your information or share it with
unaffiliated third parties. By continuing, you agree to our
Terms of Use and
Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!
We’re so glad you’re here. You can expect all the best TNS content to arrive
Monday through Friday to keep you on top of the news and at the top of your game.
What’s next?
Check your inbox for a confirmation email where you can adjust your preferences
and even join additional groups.
Follow TNS on your favorite social media networks.
The Economist once ran an advert asking for an article of scientific journalism to compete for an internship spot on its team. The company specifically said that it would rather have a scientist who could write than a journalist who knew some science.
With that in mind, as an experienced software developer and technical writer, here are my tips for writing technical articles. I’m referring to articles where the audience is tech folk looking for a heads-up on a technology product, platform or tool.
Habits and Tools
If you have ever considered writing and you work with technology, you should definitely put yourself in the frame for creating technical articles. Yes, writing only improves with practice, but you don’t need to possess any mystical writing talent. In the days of social media, almost everybody writes. And as any editor knows, engagement is not quite the same thing as literature. You might want to write about a new technology you have just used or are interested in using, or maybe you feel duty bound to promote one of your existing go-to technologies.
If you’ve ever spoken at a conference, you understand that this is a form of barrier challenge. You chose to accept it, and after you do it once it is a matter of repeating the pattern. Writing is similar; find the right tools and the right sources, and then find your best times to get words on the page.
The New Stack is a media platform for the people who build and manage software the world relies on. Context and explanation of at-scale technologies to advance knowledge and create conversations through our coverage of modern architectures, components of the software development life cycle and more. Insight Partners is an investor in TNS.
Learn More
The latest from The New Stack
Maintaining the habit is harder. I’m sure you know someone who has started a novel — but you probably know fewer people who have finished one. Fortunately, writing about 1000 words is nowhere near as taxing. You may start off with not enough words, then later have far too many. Rereading drafts and editing is the bread and butter of scribbling. You only have that blank page once.
It turns out that writing tools do matter. Technical articles mix things like text with diagrams, images and code. Formatting these correctly — and then exporting them into the final publication platform and checking the format is still ok — is not always trivial. I might write in Notion, export in Markdown, then push into WordPress. If you are planning to write more than one article, then getting this process smooth is an early necessity.
Be a Car Horn
The other Shibboleth to get around is that if you don’t fully understand a technology, you can’t possibly write about it. The purpose of most technical posts is to be a car horn — to announce that what you are writing about is here, relevant, and should be noticed. You can also elucidate what is behind the technology, what the thinking was that brought it into being, and how it helps people today.
Of course, you want to avoid mistakes but remember: you are a car horn, not a white paper. Re-explaining things in your own voice is also fine. In general, you only really learn things you almost already knew, so reading a different explanation of the same thing is often quite illuminating.
Try to introduce concepts based on how you first came across them, not just how Google sees them. Putting yourself in a story is more than acceptable — indeed, it can be the unique angle needed.
Introducing internal terms or idioms, unless they actually express something without further context, can make things harder to comprehend. For example, Rails is described as “opinionated” — which is both truthful and describes well what to expect later. Whereas saying that Java has “garbage collection” doesn’t really help with understanding the language itself. Show people the steps down to the cellar by all means, but don’t disappear down them yourself.
An Example
Here is an example approach. As part of an article, how would you explain the basics of SQL in a paragraph?
Should you start by explaining that SQL is a DSL (Domain Specific Language — and yes, unless they are obvious, you should also spell out acronyms)? Yes, because there are firm consequences for knowing that you can do everything with a limited set of commands. Should you explain Oracle’s history? No, but maybe you can mention when you first worked with table data, to help set context. Should you explore relational databases? You would have to explain a bit about tables and schemas, of course. What about “primary and foreign keys”? Try to avoid using the internal term itself initially; start with terms like “refers to” or an “index of.”
Onto diagrams and code listings. Clearly, a table is very easy to visualize and draw (which is why it is such a pervasive idiom) and you can trivially show both a query and the tables it works with:
TABLE fruit
Name
Origin
Apple
Kazakhstan
Banana
Philippines
Cherry
Romania
TABLE nation
Name
Continent
Kazakhstan
Europe / Central Asia
Philippines
Asia
Romania
Europe
How do we ask SQL from which continent apples originate?
<code class="language-bash">
>select fruit.name, nation.continent
from fruit, nation
where fruit.origin = nation.name and fruit.name = 'apple';
+-------+-----------------------+
| name | continent |
+-------+-----------------------+
| apple | Europe / Central Asia |
+-------+-----------------------+
</code>
This is a weak schema and a trivial query, but it points out the purpose and use of SQL, as well as hints at the possible issues that you can then talk about if relevant. Note that a better-formed pair of tables may not act as such a simple example. It’s worth repeating that point — very efficient code may well be harder to fathom than simpler code using familiar structures.
Also, instead of talking about primary and foreign keys, a diagram is more effective:
Note, however, that there is no reason to limit your example to employees, departments and office locations! It’s better, of course, to use examples that you care about.
Focus on the Journey (and Other Final Tips)
You will naturally use rhetorical devices to persuade your audience of your points.
Comparing products in a head-to-head fashion is ok when comparing matching goods, but much less useful for merely similar technologies. Once chosen, you generally have to use a technology from beginning to end — so it is more useful to show a full user journey. Comparisons are useful for making elevator pitches (“Sharknado is like Jaws meets Twister”) but from then on, focus on the journey. Install it, follow the documentation, try examples. Where did you trip up?
I love using websites that work as a sandbox for a technology. For example, when looking at regex, it was useful to show immediate examples with regexr. Not only does it make it easier to explain — look at my sandcastle! — it also proves that the technology is flexible enough to be expressed in several ways.
Putting technologies in a timeline (birth, growth, possible death) is a natural device to give context, but it’s even more useful for spotting shifting needs and possible built-in issues. “It was started before cloud computing” tells your audience implicitly where a new direction might lie.
The last thing I would add reads like long-standing life advice: don’t be afraid of initial mediocrity. It might be fatal for a pilot, but you probably won’t cause much consternation if your first technical article doesn’t land properly. Try a few times, at least, before coming to any conclusions.