2016 was a year of change for me. I wanted to come back on what happened to me, what I did and how it’s going to affect 2017.
I started 2016 as a dev team manager for Playlab. 3 months in, I quit to focus on building my own business. After taking April off to travel, I finally got started writing my second book, Master Ruby Web APIs.
Writing Master Ruby Web APIs
Getting started was hard. I had to find new working habits and organize myself. Finding the motivation to work on my own stuff was harder than I thought, and not being able to progress as fast as I wanted to made me have doubts. Throw in some stress about money, and you get an awesome mix to write a book… or not.
Money. Something I never really worried about. When I quit my job, I only had 3-4 months of savings, and because of that I needed to finish and release the book in that time.
Staying in Thailand while not working there anymore was also complicated. I had to go to Malaysia for a few days to get a 2-month tourist visa (which was extendable one more month). I decided to go to Penang, and stayed with two great Airbnb hosts. Getting the visa was easy enough, and I spent the rest of the trip working on the book from coffee shops.
Once I got back to Thailand, I decided to set rules to ensure I would get work done everyday. To measure the time I spent working, I went with a flexible Pomodoro system. I had to do 10 Pomodoros every day before calling it a day. With this, I was able to get into a routine of getting some work done everyday. Sadly, the stress of not finishing in time prevented me from sleeping at night, keeping me awake until 3 or 4 in the morning. Obviously, I wasn’t able to wake up early the next mornings, and ended up feeling like I had already lost half of the day.
Like any writer working on a tight deadline, stress was a major issue. It was actually the reason I couldn’t fall asleep - my mind was racing to see if I could finish the book in time, and wondering if it would make any money at all. Indeed, the book was growing way bigger than I had hoped for. Looking back, I feel like it was a mistake to try to shove in as much stuff as I did. The book ended up being around 110k words (that’s about 750 pages, including a lot of code examples). The last module wasn’t even as polished as I had hoped for.
But all said and done, I finished a goal that I set out to start - and it helped a few hundreds people. Now, I’m actually looking at ways of improving it…. for instance, splitting this monster book into smaller modules so they’re easier to digest. I also received a few comments because I wasn’t explaining some of the Ruby code, and that’s because I wrote the book with an intermediate to advanced developer in mind. This will be fixed in the next version of the book.
But before I can do this, I need to release the new edition of Modular Rails, updated with Rails 5 and coming with new chapters about things I learned since the original release - almost two years ago.
In the end, I was able to release Master Ruby Web APIs in time, 2 weeks before going back to France for a holiday. I’m not going to lie - the last month was awful. I was working 10h+ a day to get everything ready, and I barely slept in the 4 days leading up to the release. I spent these nights editing the screencasts with iMovie on my burning Macbook. As a sidenote, that’s also when I decided to learn how to use Adobe Premiere so I could use my gaming PC for the editing.
In the end, the release sales brought in enough money to let me live for a few more months. It was time to fly back to France for two months, spend some time with my family, and see some of my old friends.
Spending some time in France
After the pressure of working on Master Ruby Web APIs, I needed some time away from writing and coding. The good news is that I was staying at my parent’s house, in the middle of nowhere. I was able to start working out again, eat properly, and relax. Right before going back to France, I had also started a daily vlog to learn how to edit with Adobe Premiere. This was a pretty fun experience, but I knew it wouldn’t last. It was taking me up to 3 hours to edit the vlogs each day and it wasn’t sustainable in the long run. I did it for 17 days, uploading a vlog every single day. I learned so much stuff about editing! It actually allowed me to create some awesome videos for my cousin’s wedding (using the expensive camera I had purchased for the daily vlogs). While I stopped doing daily vlogs, I don’t regret giving it a try - it was a very rewarding experiment.
I believe in the “learning by doing” motto, and this experiment proved one more time that learning by doing is an amazing and fast way to learn something new. All you need is to define the deliverables, set a timeframe and get started!
After my video editing experiment, I slowly went back to coding. I ordered two books to learn more about Elixir and Phoenix: Programming Elixir and Programming Phoenix.
Overall, I didn’t get much done during these two months in France. I wanted to get started building Devblast, but didn’t do anything about it except learning the technologies I wanted to use and drafting some wireframes. I did however spend way more money than I was expecting, meaning I needed to tighten my belt until the release of my next monetized project.
Back to Thailand
At the end of September, I flew back to Thailand. But I still wasn’t ready to get started building Devblast, and I honestly can’t remember what I did for a month (catch up on sleep?). But in November, everything changed.
I suddenly had so much motivation and was ready to spend my days coding. I felt back in love with the act of creating web applications and seeing it come to life. That’s something I had lost since I started working at Playlab, where I was mostly doing web API work. Writing a book about web APIs also didn’t help.
I realized that I really love building web applications, from A to Z: wireframing, designing, coding, fixing bugs… It’s so awesome!
I built Devblast in a few weeks, while still learning about Elixir and Phoenix. I could have used a static website generator or Wordpress, but my excitement came from learning to use new technologies while building something I’ve been wanting ever since I set up my first blog with Wordpress.
I also didn’t use any of these other solutions because I need to have total control over Devblast. I have big plans for it in the coming years, and these plans will require a lot of customization.
Once everything was ready, I made the switch from Samurails (Wordpress) to Devblast (Elixir / Phoenix). The migration happened without any problems.
Web Applications vs. Books
In December, before going back to France for Christmas, I thought a lot about how I felt while working on Devblast compared to writing Master Ruby Web APIs. I realized that I don’t want my business to rely mainly on books and courses. Instead, I wanted them to be byproducts, where I can teach everything I learn while building real stuff.
I love to learn new technologies and build real stuff with them. That’s why I want to build real projects that will help people and potentially generate some revenue.
A look at 2017
This year, I’m going to focus on building a portfolio of applications using different tools. I have many ideas that I want to bring to life, just the way I built Devblast from nothing.
You should know that Devblast is currently not finished - it’s only the cocoon of what it will come later. I haven’t been publishing tutorials for a while, and that’s because I’m saving my “tutorial mojo” for the next phase of Devblast.
To avoid the stress I felt while writing Master Ruby Web APIs, I’ve also started doing some freelance work again. It removes the fear of living on savings while giving me the chance to do what I love, setting my own hours and leaving me enough time to work on my own projects.
I actually shared the projects I will be working on next in this article. I will be writing a case study for each one of them: why I want to build it, how I do it, and how I market it. I would also like to share the revenue numbers of them in order to motivate you to work on your own side projects. Once they are built, I will switch back my focus to Devblast and turn it into an amazing resource to learn everything about web development.