Adam Wathan has always been passionate about learning new things. This past year he discovered how he could earn an independent living doing it.
Note: this is the second issue of my newsletter for software developers and product people. Subscribe here.
His book and video course, Refactoring to Collections, teaches PHP programmers how to apply functional programming principles to write clean, maintainable code.
This is my interview with Adam about his $100,000 book launch.
Pssst... this is a long one. If you'd rather listen to it, check out the audio version here.
I just went full-time on products. Previously, I was working as a software developer for a company called Tighten based in Chicago. They do client services consulting stuff; building web apps for clients. I worked with them for about a year and a half.
Before that, I was working with another agency that's local. I had one job in between there for another local consultancy that only lasted a couple of months. It turned out being a bad fit, and I was looking for something else really soon. But yeah, those are the only two real software development jobs I've ever had.
I've done a bunch of other random stuff too. I ran a recording studio in my house for a couple of years, recording bands for a living. That didn't work out (bands don't have money). [laughter] I also worked in the oil sands in northern Alberta for a couple of years.
As long as I can remember! As a kid I was obsessed with pro wrestling; it was my favorite thing in the world. When I was 9 - 10 years old, I found these text-based wrestling simulators you could download. You could make people wrestle each other and create wrestlers (this was the WWF Attitude era). I stumbled on a tutorial that taught you how to build a wrestling simulator in QBasic. I got it running on my parent's computer. It was fun just trying to make the computer do stuff.
In university, I was taking computer science, but I got burnt out and dropped out. There were other things I found way more fun, like music.
So I started this recording studio and started using this audio engineering software called Reaper (made by the same guy who built Winamp).
It turns out it's hackable. You could create plugins and write your features. It opened my eyes; I realized how much I love programming. I was having more fun improving the software than I was recording bands.
I am addicted to learning. When I get into something, I consume everything that exists in the world about that topic. I want to learn until I understand it as good as anyone. I used to play guitar like eight hours a day for like eight years. I got into like weightlifting and powerlifting to the point where I won a national powerlifting competition after two years. When I get into something, I just sink my teeth into, and I can't let it go.
At first, I wasn't super intentional about it. Anytime I've gone into a new hobby I've always been active in online forums. I like participating in communities and talking to people.
Over time, I've developed a good reputation in almost any community that I've joined. For example, in the Reaper audio software world, you'll still see people starting threads on forums referencing a drum editing method I created.
It's the same with programming. For me, Twitter was the perfect place to get involved. To me, it seemed to be where all the programming discussions were happening. I just like participating in conversations, and share what I know.
When I was a kid, I would create walkthroughs for games like Doom. I love creating things for other people to consume.
It's just my natural way of being. I just want to be loud. I want to participate in a community and have strong opinions about things.
I don't blog super consistently, but it feels good to write stuff and put it out there. I like putting in a lot of effort, finishing something, and being able to share a complete thought. It might sound bad, but I'm addicted to putting something out there and having people see it.
Sharing stuff on Twitter has been just as rewarding. My friend Wes Bos has a huge Twitter following. And what seems to have contributed to his success is he's always sharing things; like a quick tip. I've been doing that more often. I'll get a hundred retweets on really simple lessons. It's been helpful for getting more followers and building a reputation.
I started my podcast because I had questions for Ryan Singer and I needed an excuse to get him to talk to me. I never started it as a platform to build an audience. It was an excuse to have some reason to get people to answer my questions. [laughter]
I don't know if there was ever one moment where I decided: "Hey, I'm gonna be a product guy." But I've always loved creating things and sharing those creations with people. And the idea of making money from that sounded cool; being able to have freedom and control over what you're doing with your day.
My friend suggested that I create something tiny. He called it a "tripwire product:" something you can sell for really cheap (like $3 - $10). He gave me two main reasons to do it this way.
One reason is to get something done and get momentum in selling something online. You feel like: "Ok, I've sold something. I've taken someone's money for something I've made." That's a good step in the right direction to move on to something bigger.
The other reason is that it's useful for building your list. You now have real qualified people that are willing to spend money on things. Someone who has given you a dollar for something is much more likely to give you $200 for something else.
I had been developing a reputation for the refactoring to collections stuff in PHP. I was trying to apply these functional programming ideas in PHP, got really excited about it and started sharing stuff on Twitter: "look I was able to take this code and do this with it. Isn't this cool?" People started coming to me with questions: "how would you do that with this piece of code?" I would try to figure out the answer and help people.
Eventually, I was thought: "hey, it would be kinda cool to put together a small 40 page PDF with some of my favorite tips and tricks for using this programming strategy."
After I had put together a simple landing page, I tweeted out: "I'm writing a short book on refactoring with collections! Check it out if you're sick of ifs, loops, and variables." (Source)
I went into it with this idea to build a 30 to 40 page PDF, but the next thing I knew it was like a hundred pages already. [laughter]
I remember having conversations with friends about how much to charge: $9 - $12? But by the time my book was finished, it was a 160-page book with four hours of accompanying screencasts. When I released it, my tiers were $29, $59, and $135. All of which are dramatically higher than what I intended initially.
Feb 23, 2016 – Announcement on Twitter.
March 21, 2016 – Released sample chapter.
March 29, 2016 – Released another sample chapter.
April 7, 2016 – Wrote a blog post.
April 10, 2016 – Sent my list a launch update.
April 26, 2016 – Released another sample chapter.
May 16, 2016 – Sent two-day launch notice to my list (shared a screenshot).
May 18, 2016 – Launch day
The launch went a million times better than I could have ever hoped.
I had 14 sales on the night before the launch.
Then I sent the launch email at 7:15 am, and 81 sales came in.
I announced the launch on Twitter at 8:45 am, and by that time I'd made 133 sales.
At lunch, I was at 225 sales. The most surprising thing was that the expensive tier was outselling the low tier.
By the end of the day, I'd made 403 sales and had $28,000 in revenue.
On the third day of the launch, I'd made 901 sales, and $61,000 in income. It just kept going. I'm now well over $100,000.
Wow. How did that feel?
I was losing my mind. That was the best day of my life. It's just such an amazing feeling to know you've created something that people are happy to pay money for. It's really awesome.
I don't have any idea of what I'm doing. I'm just lucky to have a chance to teach an in-demand topic to the huge market of people that have enough money to spend on this sort of training.
There are tons of lessons we (as product people) can learn from Adam's story.
Three things stand out:
He has a good reputation in the PHP community and is seen as an authority on testing. He built this reputation by being consistently helpful on Twitter, his blog, etc.
His reputation as a "helpful, smart person" lead to building an audience (both on Twitter and on his mailing list).
PHP developers are highly motivated to learn what he has to teach ("Shut up and take my money!")
If you want to have success with your own book, course, or membership site you need to:
Choose your market carefully. Profitable products are born out sizeable markets (with money) who are highly motivated to improve their lives.
Build your reputation! Get active in the community you want to serve. Be consistently helpful. Learn everything you can, and share what you're learning.
Grow your audience. You need to have a way of building up a following. This way, when you launch, you'll have someone to launch to. I recommend a mailing list of at least 500 people before you think about building a paid product.
That first point is important. One thing that doesn't get talked about enough is that some target markets are better than others. Growth is a multiple of how big, reachable, spendthrifty your market is.
(If you're looking for a guide that walks you through each of these steps, check this out.)
Cheers,
Justin Jackson