I'm a published author.
Well, not completely.
Truth is, I've always wanted to be a fiction author. Don't get me wrong, writing a technical book has been a life-worthy experience, with unbelievable challenges, incredible highs, and soul-crushing lows. I'm delighted we made it happen, and want to write more technical works. Still, there are things about writing fiction that have become very appealing to me.
When you write a technical book, everything has to be justified. I'm not talking about ensuring proper layout justification, I'm talking about the concept of content justification.
When writing a technical book, everything is questioned. That's a good thing, because developers should be a little cynical, questioning everything. Making certain your writing can stand up to this kind of scrutiny is a huge amount of work. It's not even whether or not readers want to believe you, as technical writing leads itself to readers purposefully or incidentally doing real-world tests of your content.
Of course, making your work a best practices guide means that your effort really, really, REALLY comes under scrutiny. ;-)
In any case, with fiction, while it's good to have justifiable work, the critical need for it is normally not there. You just write, and so long as the reader feels that the body of work is believable, you are okay.
You Can't Write Tests for Prose
Two Scoops of Django has tests. Technical articles I write on this blog now have tests. This is because writing tests up front is a lot more fun than writing, "Whoops! I'll fix that!"
On the other hand, when writing prose, there are no tests. Every reader will interpret your work differently. Even if they interpret your work on similar lines, it's still a personal experience. If I like or dislike something I read, the way I like or dislike it will differ from any other reader.
In fact, I'm quite aware of how different people have interpreted the prose of this blog or Two Scoops of Django. I'm actually quite fascinated how different people experience my prose, sometimes misinterpreting what I write, getting beneficial or malignant things out of it that I never imagined.
You can't write tests for this, it just happens.
Not Everything Has to Be Described
When you are writing a technical book, you have to describe all elements mentioned. Not being a tutorial, Two Scoops of Django allowed us to truncate a tiny, small amount of things. As any technical author knows, this represents a huge amount of work.
In fiction, you create characters, scenes, and stories in such a way that the reader paints it in their mind's eye. If done right, the reader feels that you've written in an evocative fashion. If done wrong, the reader is bored and uninspired.
In order to do write evocatively, one technique used is not describing everything. Authors leave blank spaces. It's these blank spaces that allow the readers to create their own vista of the story.
Note: I'm well aware that writing isn't the only medium that uses blank spaces. Painting, sculpture, film making, music, and every form of art finds a way to use this technique.
Eternal Dynamic Characters
A dynamic character is either a good person who can be bad, or a bad person who can be good. Using this definition of character in technical books is challenging and is usually reserved to rants about some necessary but unpleasant component. Of course, that rant often becomes dated, as someone who is also annoyed by the same component creates something that replaces it.
On the other hand, in fiction dynamic characters survive as long as they are in print. We can read again and again stories about heroes and anti-heroes, and recommend them to our associates.
This is a permanence I long to have in my writing.
For these reasons and many more, fiction wins.
I'm writing! It's challenging but engaging. I won't speak much about what I'm writing, except to say it falls in the 'fantasy and science fiction' genre.