Im looking for a resources (ideally books) that can help juniors, devs and even seniors to improve their technical writing. To help them write better issue descriptions, announcements, documentations, user manuals and so on. How to communicate (in a written form) technical stuff to technical and non-technical people.
I am a professional technical writer. When I started out, I desperately looked for tips and tricks. Internet was (and is) full of tips but I could not find a tech-writing bibliography.<p>I will soon publish a bibliography of books and guides regarding technical writing. I promise to paste a link here when I am finished, which I believe I will be in a day or two.
I think all technical writing books are dry and boring.<p>The best books I've read that helped me with technical writing have been classic writing ones such as Ray Bradbury, Stephen King, Steven Pressfield, William Zinsser, and more.<p>Also following this general guideline from Orwell may help:<p>i. Never use a metaphor, simile or other figure of speech which you are used to seeing in print.<p>ii. Never use a long word where a short one will do.<p>iii. If it is possible to cut a word out, always cut it out.<p>iv. Never use the passive where you can use the active.<p>v. Never use a foreign phrase, a scientific word or a jargon word if you can think of an everyday English equivalent.<p>vi. Break any of these rules sooner than say anything outright barbarous.<p><a href="https://www.orwellfoundation.com/the-orwell-foundation/orwell/essays-and-other-works/politics-and-the-english-language/" rel="nofollow">https://www.orwellfoundation.com/the-orwell-foundation/orwel...</a><p>You may also find some gems here and there with big tech companies developer documentation contribution style guides i.e.<p><a href="https://docs.microsoft.com/en-us/style-guide/welcome/" rel="nofollow">https://docs.microsoft.com/en-us/style-guide/welcome/</a>
<a href="https://developers.google.com/style" rel="nofollow">https://developers.google.com/style</a>
I liked the approach of Pinker's book "A Sense of Style": <a href="https://stevenpinker.com/publications/sense-style-thinking-persons-guide-writing-21st-century" rel="nofollow">https://stevenpinker.com/publications/sense-style-thinking-p...</a><p>He gives writing tips based in how the mind works. Instead of a bunch of rigid rules, you can understand it based in cognitive theory.
The Minto Pyramid Principle is what you're looking for - <a href="https://www.amazon.com/NEW-Pyramid-Principle-Writing-Thinking/dp/B09W2VPVJX/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=&sr=" rel="nofollow">https://www.amazon.com/NEW-Pyramid-Principle-Writing-Thinkin...</a>. A timeless book on how to structure writing. Once you understand it, you'll start to notice applications of the book out in the wild. You'll also start to loathe writing that isn't structured as such because it's needlessly tedious and more difficult to understand.<p>The Minto Pyramid Principle is heavily used and recommended within Amazon, a company famous for their culture of written narratives.
I'm a Director of Software Engineering today, but early in my career I was a technical writer.<p>The #1 most important thing imho is know your audience. Who are you writing for? What do you know about them, or what can you reasonably successfully guess about them?<p>I once wrote a suite of manuals (yes, I'm that old) for an ERP software product. The audience was people on manufacturing shop floors, AP and AR people, sales people -- in other words, people who didn't know and didn't care about the underlying tech. They just wanted instructions to do their tasks. I learned their lingo and used it, and otherwise tried to write on a fourth-grade level.<p>At another company we wrote documentation that techs at wireline telephone companies used to install and operate our software. While these people weren't software developers, they were technical people and I wrote to them as such. I gave them the theory and concept behind things as well as the task instructions they needed.
Docs for Developers: An Engineer’s Field Guide to Technical Writing <a href="https://a.co/d/cyI8Y15" rel="nofollow">https://a.co/d/cyI8Y15</a><p>HN thread: <a href="https://news.ycombinator.com/item?id=28948131" rel="nofollow">https://news.ycombinator.com/item?id=28948131</a>
I've always found DigitalOcean to be a source of very high quality tutorials / documentation, and therefore think you can't go wrong with familiarising yourself with their guidelines <a href="https://www.digitalocean.com/community/tutorials/digitalocean-s-technical-writing-guidelines" rel="nofollow">https://www.digitalocean.com/community/tutorials/digitalocea...</a>.
C4E - Communication for Engineers. <a href="https://chrislaffra.com/c4e" rel="nofollow">https://chrislaffra.com/c4e</a><p>The book discusses a variety of "soft" skills, including reading and writing. Not specifically focused on technical writing per se, but can still be very useful for engineers to learn how to influence others through written materials. As Urs Hölzle says in the foreword to the book:<p>"At some point in your career, you can no longer communicate effectively just by talking with others. Stand-ups, planning meetings, and peer programming sessions all have their physical limits. This effect applies to you sooner than you think. At that point, you need to switch to asynchronous communication techniques. In short, you need to switch to <i>writing</i>. Those who can write well suddenly have a head start. Through well-written communication, your influence suddenly grows exponentially."<p>[I am the author]
The Microsoft Style Guide is a useful resource for clearing up questions or obtaining recommendations on how to write most of the things you mention:<p><a href="https://docs.microsoft.com/en-us/style-guide/welcome/" rel="nofollow">https://docs.microsoft.com/en-us/style-guide/welcome/</a><p>There are other style guides, of course. Check out this list at Write the Docs:<p><a href="https://www.writethedocs.org/guide/writing/style-guides/" rel="nofollow">https://www.writethedocs.org/guide/writing/style-guides/</a><p>If you're searching for more generic information on how to communicate technical content effectively to different audiences, check out this list of recommended books:<p><a href="https://www.writethedocs.org/books/" rel="nofollow">https://www.writethedocs.org/books/</a>
I recommend everyone to read the SQLite documentation to see an example of excellence in technical writing.<p>The other week a commenter here linked to this site as well: <a href="https://diataxis.fr/" rel="nofollow">https://diataxis.fr/</a>
I second the request. I think communication is a drastically underappreciated skill even though we have all suffered due to poor communication professionally (undocumented libraries, poorly specified requirements, an inability to generate buy-in for our ideas).<p>I'll throw in a few recommendations I have from some recent research at work:<p><a href="https://eugeneyan.com/writing/writing-docs-why-what-how/" rel="nofollow">https://eugeneyan.com/writing/writing-docs-why-what-how/</a><p><a href="https://eugeneyan.com/writing/ml-design-docs/" rel="nofollow">https://eugeneyan.com/writing/ml-design-docs/</a><p><a href="https://reqexperts.com/wp-content/uploads/2015/07/writing_good_requirements.htm" rel="nofollow">https://reqexperts.com/wp-content/uploads/2015/07/writing_go...</a><p><a href="https://eugeneyan.com/writing/what-i-do-before-a-data-science-project-to-ensure-success" rel="nofollow">https://eugeneyan.com/writing/what-i-do-before-a-data-scienc...</a>
David Beer & David McMurrey, <i>A Guide to Writing as an Engineer</i> <a href="http://www.worldcat.org/oclc/1103219505" rel="nofollow">http://www.worldcat.org/oclc/1103219505</a><p>Philip Kiely, Writing for Software Developers <a href="https://philipkiely.com/wfsd/" rel="nofollow">https://philipkiely.com/wfsd/</a><p>Michael Alley <i>The Craft of Scientific Writing</i> <a href="http://www.worldcat.org/oclc/1032304610" rel="nofollow">http://www.worldcat.org/oclc/1032304610</a><p>Also see <i>Online Technical Writing</i> <a href="https://mcmassociates.io/textbook/" rel="nofollow">https://mcmassociates.io/textbook/</a> David McMurrey
Though not specifically targeted for developers, I recommend Steven Pinker's The Sense of Style.
<a href="https://en.wikipedia.org/wiki/The_Sense_of_Style" rel="nofollow">https://en.wikipedia.org/wiki/The_Sense_of_Style</a>
"Effective Writing for Engineers, Managers, Scientists" by H.J. Tichy is the best book I have seen on the subject.<p><pre><code> Publisher: Wiley-Interscience, 1988
ISBN-10 : 9780471807087
ISBN-13 : 978-0471807087</code></pre>
"Writing well" can mean two things: Putting together clear, concise, grammatically correct sentences that are pleasant to read; and organizing your content in a useful, rational way.<p>Technical writing needs to do both, and it also needs to teach well.<p>Teaching well doesn't always mean you're writing well, and vice versa.<p>Teaching well means using what cognitive and learning scientists have discovered about how best to teach adults.<p>Books like Strunk & White's Elements of Style are good resources for putting together good sentences. Fewer books teach organizing your content, and even fewer teach how to teach well.
Google has a course for technical writing, and I think it's a good start.<p><a href="https://developers.google.com/tech-writing" rel="nofollow">https://developers.google.com/tech-writing</a>
It doesn't answer your question, but for solutions that address the systemic issue at your organization, I offer two things that have been proven (in my life) to be effective:<p>First, without hiring more people, I would advise contacting your closest University and ask about graduate faculty who offer grant writing courses. For a small fee, they can provide training and materials for your staff.<p>Better, though, would be to target a non-technical grant writer and integrate that person into your team. Any communication for an exterior audience would flow through that person. I say non-technical, because that helps you avoid jargon and other "meaningless" items for exterior audiences. I also say specifically grant writer instead of technical writer because technical writers focus on ensuring all material is included, whereas grant writers also ensure that all material is digestible by human people. This person also learns your organization and can help target professional development for folks who might need it - it's all about creating a talent pipeline.<p>Source: I am a career grant writer, and any technical writing, especially areas as, for lack of a better word, arcane as tech writing can be vastly improved by succinct grant writers. I have contracted for companies in the past, but so few actually want to make systemic changes; mostly they want quick fixes and immediate solutions.
Good technical writing is good writing. Just learn how to write well in general. I recommend going through The Elements of Style and basically any college level writing course materials.
I find Donald Knuth an awesome technical writer: <a href="https://jmlr.csail.mit.edu/reviewing-papers/knuth_mathematical_writing.pdf" rel="nofollow">https://jmlr.csail.mit.edu/reviewing-papers/knuth_mathematic...</a><p>Skip the math stuff if you don’t need it, the rest is still worth it.<p>However, much better than reading about writing is getting direct feedback on your own writing. Maybe offer mentoring to your juniors?
My top recommendations are "Docs for Developers" and "The Product is Docs".
I listed more books about docs and general writing, and TW courses and podcasts in this post: <a href="https://lorenaciutacu.com/resources-technical-writers/" rel="nofollow">https://lorenaciutacu.com/resources-technical-writers/</a>
Not a book, but a comprehensive, introductory set of materials by the Google tech writing team: <a href="https://developers.google.com/tech-writing/overview" rel="nofollow">https://developers.google.com/tech-writing/overview</a>
The Elements of Style by Strunk and White is a short book of "rules" about style which boil down to making every word, letter, and punctuation mark "tell." I believe it to be essential to begin writing clearly and effectively.
Please check these two books on technical writing from Springer.<p>1) Docs for Developers: An Engineer’s Field Guide to Technical Writing<p><a href="https://link.springer.com/book/10.1007/978-1-4842-7217-6" rel="nofollow">https://link.springer.com/book/10.1007/978-1-4842-7217-6</a><p>2) Requirements Writing for System Engineering:<p><a href="https://link.springer.com/book/10.1007/978-1-4842-2099-3" rel="nofollow">https://link.springer.com/book/10.1007/978-1-4842-2099-3</a><p>Currently there are 50% off until 29th August for selected books for back to school discount offering.
There are probably dozen of possible books, but I think this one matches your description perfectly:<p><a href="https://www.goodreads.com/book/show/34927405-living-documentation" rel="nofollow">https://www.goodreads.com/book/show/34927405-living-document...</a><p>Just for reference, here is a classic about writing in general:<p><a href="https://www.goodreads.com/book/show/53343.On_Writing_Well" rel="nofollow">https://www.goodreads.com/book/show/53343.On_Writing_Well</a>
I found "Writing Without Bullshit" helpful.
<a href="https://withoutbullshit.com/book" rel="nofollow">https://withoutbullshit.com/book</a>
"How to Edit Technical Documents" by Donald W. Bush and Charles P. Campbell is a pretty easy read that explains how to approach writing and structuring technical documents.<p>Edit: Some places have it priced pretty highly, but Amazon has it here for about $3:<p><a href="https://www.amazon.com/Edit-Technical-Documents-Donald-Bush/dp/0897748700" rel="nofollow">https://www.amazon.com/Edit-Technical-Documents-Donald-Bush/...</a>
'Practical Software Requirements - A Manual of Content & Style' by Benjanin L. Kovitz, Manning, 1999<p>'The Science of Scientific Writing' by George D. Gopen & Judith A. Swan: <a href="https://www.usenix.org/sites/default/files/gopen_and_swan_science_of_scientific_writing.pdf" rel="nofollow">https://www.usenix.org/sites/default/files/gopen_and_swan_sc...</a>
I don't know of any "how to write tech. books" kinds of books. I do have some recommendations of good examples of technical writing and right on top of the list is the C programming language closely followed by anything written by Brian Kernighan. The latters relaxed presentation with hard hitting examples drives home points in a way that no other book I've read does.
Don't forget about diagrams! Words are important, but diagrams can really get concepts across. And not just the "technical" diagrams (sequence diagrams, flowcharts), but conceptual ones.<p>I really like Abby Covert's new book on diagrams: "Stuck": <a href="https://abbycovert.com/stuck" rel="nofollow">https://abbycovert.com/stuck</a>
Not a book on technical writing <i>per se,</i> but Writing Without Bullshit (<a href="https://www.amazon.ca/dp/0062477153" rel="nofollow">https://www.amazon.ca/dp/0062477153</a>) can bring immense clarity and purpose to your writing.<p>De-bloating prose is essential to good technical writing, and this book teaches you that.
Letting Go of the Words by Janice "Ginny" Reddish<p><a href="https://www.amazon.com/Letting-Go-Words-Interactive-Technologies/dp/0123859301" rel="nofollow">https://www.amazon.com/Letting-Go-Words-Interactive-Technolo...</a><p>It is practical guidance that is durable over time. The book is exemplary of the advice on the pages. Plain language FTW!
Since nobody has mentioned it yet, for charts and graphs there's The Visual Display of Quantitative Information by Edward R. Tufte: <a href="https://amazon.com/Visual-Display-Quantitative-Information/dp/0961392142/" rel="nofollow">https://amazon.com/Visual-Display-Quantitative-Information/d...</a>
Not technical writing, but the best book I've ever read on writing (including Elements of Style etc.) is "Getting Published in International Journals: Writing Strategies for European Social Scientists".<p>On the surface it's aimed at academics who are non-native speakers of English, but in my experience most people could do with reading it.
I think the thing that helped me most was simply to learn more about English (I am a native English speaker) so that I could get an understanding of consistent tense, tone, narrative etc.<p>I suspect there are good general books on English writing but now I have learned how to write better, I can't believe I found it so difficult before.
Developing Quality Technical Information is a very good foundation:
<a href="https://www.oreilly.com/library/view/developing-quality-technical/9780133119046/" rel="nofollow">https://www.oreilly.com/library/view/developing-quality-tech...</a>
Study E-Prime.<p>> E-Prime (short for English-Prime or English Prime, sometimes denoted É or E′) is a version of the English language that excludes all forms of the verb to be...<p><a href="https://en.wikipedia.org/wiki/E-Prime" rel="nofollow">https://en.wikipedia.org/wiki/E-Prime</a>
Google just released a tech writing course<p><a href="https://developers.google.com/tech-writing/overview" rel="nofollow">https://developers.google.com/tech-writing/overview</a>
Make It Clear by Patrick Henry Winston has a permanent place on my bookshelf. He breaks communication down into a structured system and applies it to a variety of forms including (beyond standard prose documents) things like decks, pitches, and lectures.
My AP high school English teacher taught me "garbage in, garbage out." His point was that if you want to write high level prose, you need to be reading the best prose stylists and be influenced by them. Read the best writers and stop reading garbage.
I know ppl who are into technical writing that speak highly of this book: <a href="https://www.storytellingwithdata.com/" rel="nofollow">https://www.storytellingwithdata.com/</a>
Not necessarily a technical writing book, but one for writing non fiction: On Writing Well, The Classic Guide to Writing Nonfiction
by William Zinsser would be a very good read for everyone who wants to write.
<a href="http://web.mit.edu/6.033/www/" rel="nofollow">http://web.mit.edu/6.033/www/</a> has links to a ton of really great examples of technical writing
i am looking forward to this book _Designing Developer Documentation as a Product_ which should come out in 2023:<p><a href="https://www.alejandraquetzalli.com/book-designing-developer-docs-as-a-product" rel="nofollow">https://www.alejandraquetzalli.com/book-designing-developer-...</a><p>it might be a little more on the practical "nuts and bolts" side of things vs. "how do i write well", but it covers lots of areas that always seem to come up when producing documentation for developers.
My advice: just write your documentation in dry bullet-list format. Soon there will be tools based on GPT-3-like networks that can turn these into beautiful prose :)
Many years ago I used this as the textbook in a technical writing class: Booth, Colomb, and Williams, The craft of research, University of Chicago Press.
I suggest reading Good With Words. The book good for any professionals who depend on effective communation. It is originally for created for lawyers, but it helped me tremendously at work as a software engineer.
URL: <a href="https://www.fulcrum.org/concern/monographs/1v53jz538" rel="nofollow">https://www.fulcrum.org/concern/monographs/1v53jz538</a>