Skip to content

Instantly share code, notes, and snippets.

@roycoding
Last active July 13, 2021 16:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save roycoding/a48c80d4400036ab1ddad927f48dd72f to your computer and use it in GitHub Desktop.
Save roycoding/a48c80d4400036ab1ddad927f48dd72f to your computer and use it in GitHub Desktop.
I wrote a book

I wrote a book

Roy Keyes

14 July 2021 - This is a post on my blog. Get the RSS feed!

I never really set out to write a book.

I wrote a book. A book about hiring. You can buy it at dshiring.com.

Back in 2020 we had a global pandemic. Like many people, I was laid off (along with most of my awesome team). Like some people, I decided to try to do something a little different during that time. Somehow I ended up writing a book. This blog post is about that book and how it came into existence.

When not working in a full-time role (or infrequently, in addition to) I usually take on consulting projects. Earlier in my career those projects where mostly about helping companies implement data science projects, but more recently the projects I've worked on have centered more on strategic decisions related to data-related product and project planning, and more and more often about team planning and hiring strategy.

In parallel with consulting, last summer I also decided to see if I could land on an idea for creating my own software business. Given my experience and interest, one of the more obvious ideas was building software to improve the process for companies hiring data scientists and machine learning practitioners.

Hiring for data roles can be difficult. One of the main sources of difficulty is often the shear scale of the problem. Especially when hiring for more junior roles, the number of applicants you need to process can be overwhelming. I was looking for an idea to build something that would help improve that common situation.

While investigating business ideas and also talking to clients, some of the same themes kept coming up over and over:

  • How do you know which roles to hire?
  • How to you find the right people?
  • How can you tell who knows what they're doing?
  • How do you deal with the large volumes of candidates?

On the one hand, people were willing to pay me to answer these questions, but on the other hand, I was hearing these same questions enough, that it made sense to write them down.

So I decided to write some blog posts.

What about the book?

My initial plan was to write some blog posts that I could then send to people who asked me questions about hiring. At the same time, I was struggling to find an product idea that really felt like it would make sense. Two things happened. The first was I came across some advice that the first "product" of your software business need not be actual software, but could be a newsletter, or something else that would help you grow mindshare, while you were working on your software. The other thing was that I saw Joel Grus release his latest book Ten Essays on FizzBuzz. Unlike his last book, Data Science from Scratch in Python, he decided to self publish this book on a platform called Leanpub.

Naturally I thought, "oh, maybe I should just write a book instead of boring old blog posts. How long could it possibly take?". The reader will of course know that that was one of those fantasies that your brain likes to tell itself sometimes. In reality, instead of a couple months, the book took me closer to eight months to fully complete.

Self publishing in the internet age

When my dad was not much older than I am now, he decided to write a very niche book and self publish it. Needless to say, at that time things were much different. I remember stacks of boxes of his book sitting in the garage for years, as he slowly sold them, eventually giving many copies away to win back valuable space[1].

Today the world works very differently. My main reason to self-publish was because I assumed (I still think correctly) that it would be much quicker and take less effort on my part. Depending on your goals, self publishing today is probably the best choice for most people who have the inclination to write a book. The barrier to entry is lower than it has ever been, just was with most media publishing (video, audio, etc).

I ended up publishing my book via Leanpub, a publishing platform geared primarily towards computing related technical books. Leanpub has very author friendly terms (e.g. 80% of the purchase price goes to the author) and also is geared towards people like myself, who would prefer to write in something simple like Markdown[2]. I'm planning another post detailing the specific workflow I used to write my book.

Self publishing is not without its drawbacks. The royalty structure from a publishing platform like Leanpub is much better than with a traditional publisher, but marketing the book falls almost entirely on the author's shoulders. Somewhere an economist is doing a calculation to find how these scenarios compare, but it's certainly not clear to me how the ultimate expected compensation compares.

In the end you probably shouldn't write a book with the expectation of making a lot of money. I suspect that, overall, I will come out better monetarily than my dad's effort did, though (sorry, Dad!).

I'm now a published author

Well, sort of. Self published, anyway. But that's fine and my book probably wouldn't exist if I'd decided to try to publish with a traditional publisher, as that sounds like an order of magnitude more effort[3]. I'm not sure I would have gone through with it if I had decided that that was the only "correct" way to do it.

I'm glad I wrote this book, as I ended up having a lot of great conversations while making this, including the interviews that I included in the book. It's also been great to hear feedback (and even some appreciation) for the book. I hope I've provided readers with some useful insight and ways to think about the process of hiring data science and machine learning people.

If you haven't checked my book out yet, please take a look at dshiring.com. And follow me on Twitter @roycoding!

Footnotes

  1. On occasion a listing for his long out-of-print book will come up online with an absurdly inflated price due to unrealistic pricing algorithms.
  2. Leanpub uses it's own version of Markdown called Markua, which is designed for writing books.
  3. If you're nonetheless interested in offering me a publishing contract, my emails are open.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment