I wrote a book called Flutter in Action. When I was considering writing the book, I had a lot of questions. I tried to do research and find out if it was ‘worth it’, and mostly couldn’t find the answers I was looking for.
and finally, should I do this?
These are all the questions that were swirling around in my brain, and some of the answers are out there on the internet, and some aren’t.
How do I get the book deal?
How much work will this be?
How long will it take?
Am I QUALIFIED? (see: impostor-syndrome)
What will I gain?
(of course) How much will I get PAID??
Should you I do this?
In short, this is a long, arduous process with little to no reward other than the feeling in your brain and heart that you completed a full book. And its totally worth it.
As you may have noticed, a lot of these questions are hard to answer. The answers depend on too many variables. I don’t know if you should or could or can write a book, but I can tell you about my experience.
Hopefully I can answer the questions above for someone else mulling over writing a book.
I woke up one morning, checked my email, and had a letter in my inbox asking if I wanted to apply to write a book. They came to me. I didn’t really seek this out. BUT a lot of work followed before they would give me a contract.
That’s also kind of misleading. They came to me because I was blogging and writing tutorials about Flutter already. Most of writing was on Flutter by Example.
I imagine they emailed several people with the same offer to apply to write a book. And I only got the deal because of the “interview” process that followed. The point is, step one might be to start creating your own content and getting examples of your work out there.
Once the conversation had started, I had to talk to a lot of people, and put together a proposal. A few important things about writing the proposal.
The proposal basically consisted of putting together a list of chapter topics, and high level overview of what would be covered in those chapters.
After submitting that, talking to a few more people, revising the proposal, and repeating many of these steps many times, Manning said “okay” and sent me an offer.
From there, I spent some days or weeks mulling it over, and then decided to do the damn thing, and sent it back with my signature on it. Step one completed.
The contract with Manning was seemingly “standard” for tech books. The long-short of it is that the direct payment (aka cash in pocket) isn’t much. Here’s the points from the contract that stood out to me as important:
In addition to those, there are some timeline agreements in the contract. I missed some deadlines, and no one from Manning said anything. I’m guessing that as long as they have faith in you and the book your writing, it’s all good. (Don’t quote me on that, though.)
That’s all in the contract I can even remember. So, whatever else is in there is legal jargon to protect Manning, and it never worried me. So long as you’re honoring your part in the process (writing the dang book), I don’t think you’d have to worry about much else.
So, in a nutshell, you don’t get paid much. If your motivation for taking on 18 months of working every weekend is money, this isn’t the project you should take on. I will discuss my motivations and non-monetary benefits in a bit.
This one is easy. I can’t imagine it being less than one year or Manning allowing it to go on for longer than two years. It took me about 18 months. Importantly, that includes a lot of time waiting on Manning to do their parts, and time when they were waiting on me to do my parts. It goes back and forth like that the entire time. (This isn’t a judgment, it’s just the way it is. It take 18 months, but there is a lot of downtime.)
It’s a lot of work. That’s it. Its more work than I’ve ever put into a single project in my life. Times 10. With that in mind, I’ll try to spell out how much work it really is. I wanna separate this into sections:
Yes and no. I was the most JR engineer on my team at the time, and an active part of the Dart and Flutter community, so I knew that there were folks with much, much more knowledge out there.
BUT, I had something that they didnt: The desire and discipline to write a freakin’ book! Do not underestimate that. No matter how much some old guy has, if he ain’t willing to write it down, he’s not qualified to write a book. Period.
There’s another impostor-syndrome take-down weapon I have in my brain that you should remember if you’re thinking of making any sort of tutorial content. You only need to know a tiny bit more than someone else to have something to share. I cannot understate this enough.
In my case, this meant that I knew going in that I wasn’t going to be writing the end-all be-all guide to Flutter. I was going to write a guide to going from 0 to fluent in Flutter, not from 0 to expert. Which is fine. I had 1 year of Flutter experience under my belt, which is more than most people had at the time, which means I had something to share.
The best part of this mind-set is that it opens up room to work with ‘competitors’ rather than against them. I knew what book I was writing, and I knew there was still space for intros to flutter, deep dives on complicated topics, etc. Anyways, side-rant over.
It seems impossible to me to break down exactly all the work I did, so I’ll try to write this like a job posting. Below is an outline of all the work I had todo:
NB: you don’t need to read this. the point is its a lot of work!!
Step one: Outline the entire book
Step two: Write all the code
The code in itself was a lot of work. And, I still maintain it to this day based on reader issues.
Writing all the content. For each chapter:
The final reviews
In short then the book was “done”, it was still far from finished. There were a few months of reviews and revising.
Various other forms of hidden work:
Long story short: the work can be broken up into: code, writing, graphics, managing reviews, and a TON of revision cycles. You’ll literally have hours of work to complete each week for a year or two.
The previous section is meant to make you feel anxiety. But now, I will try to ease the fear. I’ve only worked with one publisher in my life, so this all applies to working with Manning only.
First, let’s set the scene. Manning (and other tech publishers, I imagine) works specifically with engineers to make books. This should be comforting. The authors of tech books are not trained writers. And, Manning doesn’t expect that they are.
Manning made a ton of effort to hold my hand through the process. As I said, I worked with multiple editors and reviewers — copy editors, technical editors, reviewers with years of software experience, reviewers with no software experience, etc. So, in retrospect, whether the book was readable and made narrative sense was never much of a concern. If the way I explained a complex topic wasn’t clear, I’d certainly hear about it. If the way I explained a basic concept was wrong, a technical reviewer with much more experience would say “hmm, are you sure”? Of course, I was writing about a brand new technology, so ultimately I was the source of truth, but there were plenty of checks along the way.
In addition to checking, double checking, and triple checking all the content and narrative, Manning provided structure and held me accountable. This is greatest benefit of working with a publisher.
I believe that I have a solid work ethic and plenty of determination, but still, having agreed to finish this project provided motivation when my internal motivation ran dry. Not finishing the book would mean I was violating a legal contract, and that I was letting down myself and the folks I worked with closely at Manning.
On top of that there’s an additional feeling of responsibility to the readers, via the Manning Early Access Program. MEAP is a Manning initiative to sell the book early and deliver the chapters as they’re finished. That means that there were folks who bought the book and we’re reading the book on their own time. To quit would be to let them down, and that wasn’t an option.
Quickly, I’ll run through the operational benefits of working with Manning:
All in all, it was helpful to remember that selling books is what this company does. As long as I worked with them and heeded any advice, the chance of success was much higher. Both Manning and I wanted the same thing.
This section is ultimately what matters if you’re thinking about making any content. What do you want to get out of it? If the answer is money, there are probably better ways. Right from the start, the money was never the interesting benefit of writing a book to me.
This is what I hoped to get out of writing a book:
That’s more or less what I hoped to get out of it. This is how it panned out:
Let’s start with the cheese. I wanted to help folks. A few years ago I decided to try to break into tech, and I attended App Academy, a boot camp in San Francisco. I have no traditional technical background, other than my own tinkering in my free time. Learning software development, gaining confidence, and eventually getting a job is the hardest thing I’ve ever done. And, I know there are plenty of folks out there on the same path. This is a place in life that I can help. I understand the emotional burden of this journey, and producing tutorials is helpful.
Of course, I also love Dart and Flutter. And I’m proud to get to make the community bigger and (hopefully) better.
Of course, my motivations weren’t all holier-than-thou. Let’s talk about some selfish, tangible benefits.
And the big one:
I started receiving emails and Tweets just to say “thanks” or “good job”. People have told me that they got their first app in the Play Store using Flutter after reading the book. People have emailed me just to say they enjoyed the book, and asking for nothing in return. This is ultimate reward.
So, did I gain anything worth the 18 months of weekends I won’t get back? Hell yeah. And, I’d do it again. This is the best thing I’ve probably ever done, despite the fact that my life is more or less the same as before.
In short, yes.
Would I do it again?
In short, yes.
Sign up for my mailing list to receive new articles, mainly about Dart and Flutter, and other programming technologies.