Humans love stories! In fact, stories of some kind have been a large part of how we retained knowledge across generations - making us successful as groups. Our brains are constructed in a way that we remember things better when they are presented as a plot with characters, places, and relationships. In fact there is a memorization technique that focusses on us doing things in familiar places to recall those things. Telling a good story is powerful and if I can help a reader solve a particular problem, it has been worth it.

Is technical writing about stories? Yes, if you care about the reader wanting to read about that puzzle that is the technology you care about. And if that’s still too dry, include romantic side plot.

Why are you reading about this here, on a more technical (Rust) blog? You guessed it when reading the title: I have written a (physical!) book, and I want to encourage you to do too. But - why bother?

More Content For A Growing Ecosystem

As the Rust community grows, more content is needed. Looking at other large communities like PHP, JavaScript, or even .NET, all of them have a range of books on many topics. They are made for intermediate programmers, deep technology experts, or beginners of all backgrounds - something that the Rust community needs as new people come in.

Think about your own background and the questions you struggled with! Simply by providing your own perspective on a topic can be helpful for many people. In my book I tried to describe the basics of the algorithms and data structures topic, but I included some more exotic data structures and metaheuristics - something that was interesting to me personally. Ideally, someone finds it interesting as well.

The title “Hands On Data Structures and Algorithms in Rust” (see sidebar for the full title). It’s been published by Packt and was recently launched as an eBook with content made for new-ish/intermediate developers who look for a more practical explanation of this (academic) topic. At the very least it aims to provide another angle on learning Rust programming and as more people are drawn towards the ecosystem, different resources are required.

Growing With Your Book

Programming paradigms usually don’t change across technologies, so a “Hello World” type application looks the same in many languages. It requires a certain depth to see and understand the fine details of a particular technology - a depth that comes only with time and solving increasingly complex problems.

Working with the new tech can solve this problem, but that’s not always possible. But creating content for others can provide the same learnings. The key point is to know what the readers do, know, and need, so whatever you write makes sense, helps, and is getting looked at.

Writing Is About Structuring Information

Public speaking is often recommended as a practice for structuring information and forming coherent narratives for other people to follow. Writing is an easy way to practice and a simple discussion with friends can point out exactly what is hard to comprehend. Personally, I think there are three key points:

Relevance to the reader

Information architecture, and

Fluency of the text itself

Writing is a craft and as such requires practice and feedback - and what better practice is there than a 30 000 words book and a publisher that comments on style and contents?

Learning About Writing

I am a software engineer by trade and since documentation and tutorials are often dreadful to read, I decided that I want to spare others the misery. Since English is a second language for me, I am looking for help a lot and there are a few resources that have helped me:

Initially, a book was this unsurmountable challenge, but, one chapter at a time, the challenge shrank and the vision became clearer. Writing became my favorite past time even!

I certainly will be working on other books and hope others will, too. If you have questions, reach out on twitter or so, I’m happy to make introductions and answer questions.

Never miss any of my posts and follow me on Twitter, or even better, add the RSS feed to your reader!