Abbie: Hey Miguel, thank you for agreeing to answer some questions for us. It would be great to learn more about yourself, your books & your blog!
Before we chat about your writing, please could you give us a brief introduction to yourself and your background?
Miguel: I'm a Computer Engineer from Mexico who is now located in Barcelona, Spain. I have been working with computers for more than 20 years in very different aspects of the trade: embedded C programming, Oracle database administrator, Smalltalk programmer, Ruby on Rails fan, Elm promoter and, currently, Elixir/Phoenix Developer.
Abbie: How did you discover Elixir & what has your experience been with it so far?
Miguel: I first met Elixir in 2015. I immediately started learning it and promoting it by giving some talks at the Elixir Mexico City Meetup. It wasn't until 2018 that I had the opportunity to work professionally with Elixir and I haven't stopped since. I love the language and its community, which, although small compared to others, has proven itself capable of amazing things in the hands of José Valim. I use it now professionally and it is my first option for all my side projects.
Abbie: Would you say Elixir is your preferred language to work with? Are there any new languages or technologies you are interested in at the moment?
Miguel: Absolutely it is. I love its small footprint but huge impact. Doing concurrent and async programming is a joy, compared to the other languages I have used in the past. I love that concurrency is part of the ADN of it and now with the power of LiveView, Phoenix has even replaced my need to use Elm in the frontend. I can currently use Elixir from the browser to database.
Abbie: How did your writing journey begin?
Miguel: I always loved to write. I used to write a blog about my personal life but quickly realised that what I really enjoyed to write, and what the readers really liked, were the technical articles I started to dip into.
Initially I wrote for myself, in the form of tutorials or guides to reproduce things that I had a hard time remembering: linux drivers installation instructions, guides to install Apache and MySQL on Debian, how to install the perfect Linux setup, etc. That very soon became more structured when I started to write tutorials about Elixir and the viewership exploded (for me at least). I found my style and I have been writing in that style since then.
At some point, the individual articles became a series of articles on a topic. And then the series of articles progressed into a book. Then two books, and then three. It was crazy and totally not planned at all.
Abbie: How do you find balancing your writing and your career in Software Development?
Miguel: I must confess that I can't balance it very well. Writing, for me, is a very exhausting labour. I would say it is harder than programming. With the blog articles it was not noticeable as they were very spaced and I wrote them when I had something to say. But when I decided to write the third book, Deploying Elixir: Advanced Topics, things went south very quickly. Differently from the previous books that were free and where the content I put on them was a labour of paying back to the Elixir community by sharing a little of my knowledge, the Advanced Topics book was a commercial project. The deadline I put myself to avoid procrastination was also the hammer that crushed me and left me totally burned out and reluctant to write again for almost a year. Now I am writing again, just for the love of it, but that book and how it came to be was a hard lesson for me to learn that I don't want to repeat again.
Abbie: Could you please tell us a little bit about your books ‘100 Elixir Tips’, ‘Deploying Elixir’ & ‘Deploying Elixir: Advanced Topics’?
Miguel: 100 Elixir Tips was a simple project that compiled all the daily snippets I wrote during a period on my Twitter account in a single place.
Deploying Elixir: a compilation of the Deploying Elixir blog series with an extra chapter about deploying to Heroku. It was free to download.
Deploying Elixir: Advanced Topics, on the other side, was a paid book. It included chapters about clustering, deploying to Kubernetes and using enterprise services like Amazon Web Services, Azure and Google Cloud Platform. The free books were given away with the goal of growing an audience in order to give the Deploying Elixir: Advanced Topics book a chance of success. I am not hiding that. There is no way that book would have been a success without an audience. Give away 99% of the knowledge and then sell the remaining 1%, they say. I can confirm that it works, and it works very well! Of course I didn't get rich from selling Deploying Elixir: Advanced Topics, far from it, but professionally and personally, it was an unprecedented success for me. And for that I am grateful to the Elixir community.
Based on the feedback I received for the book the value provided was very high. I don't consider myself a 10x programmer or an expert, quite the opposite. The imposter syndrome hits me everyday. But the book and its success is the project I'm most proud of.
Abbie: What topics do you cover within your blog and where do you find your inspirations for things to write about?
Miguel: In my blog I write about solutions to problems I find myself in. Normally when I don't know how to do something, I read a lot of info on the internet and, most often than not, I find outdated, conflicting or unreproducible info. Sometimes I don't find much info and I have to ask in forums or try to infer from the documentation. The result is a frustration that motivates me to write it in a simpler, detailed, step-by-step way that I would like to have found before spending so much time hitting my head on the wall.
That's why I write long tutorials, with detailed steps, trying not to skip any essential step that would make the whole tutorial useless. That's how I like tutorials and that's how I write them. I write them as a reference for future me, but also for people that, like me, prefer step-by-step instructions when learning something new. And I think I'm good at that and that a lot of people find that style of tutorials valuable. It is for me and for them that I write what I write and in the style that I write.
I only write if I have something to say. Once I tried a paid writing gig and I failed miserably. The most important ingredient of my articles is that I write them while I'm learning.
If I let time pass and try to write it once the novelty phase fades, the result is awful.
It must be about something fresh, something that I'm programming that same day or week. Otherwise the style won't be what I want, it will not be authentic and I will feel like I'm not writing a quality article. I don't like that.
Abbie: Where can people view your blog and download / purchase your books?
Miguel: My blog can be found on https://blog.miguelcoba.com. The books can be purchased on https://store.miguelcoba.com.
Abbie: Is there a way for readers to preview your book before they buy it?
Miguel: Yes of course.
100 Elixir Tips and Deploying Elixir are free to download. Just put a zero on the price field and hit the purchase button and they will be yours.
Deploying Elixir: Advanced Topics is a paid book. You can download a sample chapter here and also watch the Curiosum Meetup recording where I presented part of chapter 4 of the book.
Abbie: Do you have any plans or ideas for future books?
Miguel: I have a lot of ideas, both from topics I didn't have time to write and from requests from people that wanted additional topics to be covered. To be honest, I don't plan to write another book and put myself under a deadline again, so for now no new books.
What I'm doing is going back to the roots: writing about what I learn, when I learn it and when I feel I have something to say, and what's more important, available for everyone to read in the blog. Like my live_file_input article!
Abbie: What advice would you give to someone who is considering writing their own book?
Miguel: Just do it. Don't wait to be an expert to start writing. There will always be people starting the path you are already walking and having a guide will make the difference for them. Just make someone one of today's lucky 10,000 with your writings. The rewards are plentiful, long-lasting, and a source of confidence when the imposter syndrome makes you doubt yourself!
Abbie: Besides your own, are there any other Elixir related books that you have enjoyed yourself or that you would recommend to others?
Miguel: I loved Saša Juric's "Elixir in Action". His way of explaining is both high level and accessible at the same time in a way that few people can master. Also, I totally recommend the Pragmatic Programmers' LiveView video course. I learned LiveView from them and they are great presenters and super funny. 100% recommend both!
Abbie: Finally, what tips would you give to someone just starting their journey with Elixir?
Miguel: Elixir is a language that is here to stay. Programming with it is a pleasure and a joy that I haven't found programming in other languages. The community is extremely supportive to newcomers and the resources available to learn it grow everyday. Elixir is going to open doors for you that you didn't know existed.
Abbie: I really appreciate you spending your time working on this article with us. As a thank you, we would love to purchase a couple of your ‘Deploying Elixir: Advanced Topics’ book to give away to our Beam followers.
Miguel: Thanks! As an extra give away to your readers, I have created a coupon for 50% off the price that can be redeemed 10 times: WQ53MA0