May 31, 2016 | laravelupandrunning, books, oreilly

Why I wrote my book with O'Reilly

Warning: This post is over a year old. I don't always update old posts with new information, so some of this information may be out of date.

Laravel Up and Running book cover in a grid

In case you missed it, I finished the first draft of my book Laravel: Up and Running this weekend. I'm ecstatic to be done, and ready to finish the updates and edits to get this book published!

I took a look at the git history, and my first commit to the repo for the book was on July 10, 2015. That means the book will likely publish somewhere close to a year after I first started writing, and I finished writing the first draft in 325 days.

I've gotten a lot of questions about what the process was like working with O'Reilly, why I chose O'Reilly over self-publishing, and what syntax and system I'm using to write the book. I didn't want to spend too much time blogging about the book while I was writing it, but now that the first draft is done I can finally take a pause and write this up.

Why O'Reilly?

If you're not familiar with O'Reilly, they're the premier tech publisher. I currently have three O'Reilly books on my nightstand, dozens on my bookshelf, and my brothers and I grew up reading their "animal books" (a series of tech books with animals on the cover). You've probably seen them, even if you don't recognize the name:

A picture of three O'Reilly animal book covers

So, when O'Reilly approached me about writing a book about Laravel, my first response was lifetime-geek excitement. O'Reilly? Wants me? It's like rappers who grew up learning how to rap by listening to artists like Jay-Z, only to do so well that they one day are asked to feature on one of his songs. It just feels good.

Gimme... a little money

However, when you work with a traditional publisher, you only make a fraction of what you make when you self-publish. Your publisher sets your price (I spent a year writing 371 pages and it's currently listed at $30 on Amazon—that feels a bit like a kick in the gut), and while I don't want to reveal all of O'Reilly's secrets, let's just say I will be paid less than a quarter of the revenue. That sucks, right?

My friend Adam just released a book called Refactoring to Collections. You can pay anywhere from $39-179 for it, and Adam is paid nearly every cent (Gumroad takes a very small cut). Most of my friends who self-publish do so through Leanpub, which takes a small percentage of your revenue.

So we can see, there's a very big difference on pay-out. Why, then, would I choose to work with a traditional publisher?

There are four primary reasons why I chose to publish with O'Reilly.

1. The Jay-Z Effect

First, I love O'Reilly, have learned from them since I was a kid, and love the feeling of telling my friends and family that I'm writing a book for O'Reilly. Even my wife, who's as non-technical as they get, said, "Wait, like those animal books you have on your nightstand??" Yes. Those.

2. O'Reilly Knows What They're Doing

The second reason is that O'Reilly has tooling, editors, promotional machines, and the experience of publishing and promoting that I don't have. If I self-published, my book wouldn't have gone to print. It wouldn't be in Amazon or physical bookstores. Instead, it would go out to my Twitter audience as an ebook and that's it. I would've facilitated finding my own editors (although I did that with O'Reilly anyway because I know some great editors), and either published through Leanpub or had to create my own PDF generator like Adam did. With O'Reilly I have access to decades of publishing wisdom and experience that I wouldn't have on my own.

3. Expanding My Audience

The third reason is that O'Reilly has an audience that I don't have. They have respect and connections within academia, the enterprise, and a wide swath of the tech community that I don't have. And I don't just mean that I don't have those connections; Laravel, as a relatively young framework, doesn't have as many of those connections as I want it to.

Working with O'Reilly doesn't just legitimize my book, it also helps to legitimize Laravel, which is something I very much want to see happen. I would love for the old-school PHP heads who are considering trying out a framework to see an O'Reilly book about Laravel and consider that a validation—and a learning experience—that can get them there.

4. Non-Monetary Benefits

And finally, writing a book with O'Reilly may not get me as much money (and trust me, I'm not rich, I would love more money), but it provides other benefits to me as an author.

It helps my credibility as an author and a teacher: I've been published by a major publisher, not just Leanpub. It helps my connections: I am now in the O'Reilly fold, with a connection to other O'Reilly authors and O'Reilly conferences. And it helps my reputation. In ten years, will my consultancy still exist (I hope so)? Will the number of Twitter followers I have matter? Who knows. But in ten years, I predict that being an O'Reilly author will still be a signifier of accomplishment and ability. I don't have a computer science degree. I don't have many pieces of paper that show my abilities as a thinker and teacher and developer. But I will have this book, and you better believe I'll have a big picture of me smiling and holding it the second I get my first printed copy.

My Recommendations For You

So, would I recommend publishing with O'Reilly? Absolutely. If you're asking the question, you are likely in a position where you should consider it, strongly.

If you have a large audience already and want to write a book to make a lot of money and don't mind doing a lot of the work yourself, you may not want to go with a traditional publisher. There are people like that, and they're often better suited to publish with Leanpub or something similar. My friend Adam? He self-published, and it was absolutely the right decision for that book.

But if you're not that exact type of person, I'd highly recommend trying the traditional publisher route if you can. Even someone who has all of those characteristics can benefit from publishing with someone like O'Reilly.


Not everyone can just walk up to O'Reilly and get a book published with them. There were two primary factors that led to my connection with them.

First, they had decided to write a book on a topic I love to teach. If you are deeply passionate about a subject O'Reilly (or your desired publisher) already has a book on, you may be out of luck.

And second, I had a ridiculous amount of written material available on the Internet on the topic they wanted a book about. They were able to see just how I might write a book about Laravel before they even contacted me.

The number one recommendation I would make if you want to write a book, traditional publisher or no: blog. Blog all the things. Blog all the time. Refine your voice. Get used to writing. And get your name out there and connected to the subject you would like to write about.

And here's my number one warning: just because you write a book, it doesn't mean it will sell. If you choose to self-publish, you are responsible for finding a book people are interested in, and marketing it. You could put six months of work into your book only to discover that only ten people want it. That would be awful. So do everything in your power to make sure that you're going to see the level of sales that you think validate your time spent.

Coming up

I'll write a short post later this week about the process of working with O'Reilly--how they use git and AsciiDoc and what the planning and writing and editing processes are like.

And when we get closer to the publishing of the book, I'll gladly write up any other relevant pieces of information. If I can help you, future author, with my experiences, I would love it.

Love this article? You can pre-order the e-book now and get early access to the first few chapters, un-edited, with more to come.

Comments? I'm @stauffermatt on Twitter

Tags: laravelupandrunning  •  books  •  oreilly


For quick links to fresh content, and for more thoughts that don't make it to the blog.