Antonio has been working as a software developer for more than 10 years. A few years ago, he specialized in Android development and he currently helps other Android developers boost their careers as a freelance Kotlin and Android trainer. He’s the writer of the book Kotlin for Android Developers, and is also a trainer, speaker and mentor. He is also currently a Kotlin Trainer Certified by JetBrains.
Connect with Antonio
A few years ago, you started working on your book Kotlin for Android Developers when Kotlin was not yet well-known. Kotlin has since been announced as a first-class language for Android development. How did you know all those years ago that Kotlin would be so important?
I didn’t, but I think I just felt the same frustration other Android developers had at that point, working with an ancient language. I saw a talk about people doing things with Scala, and I had heard some cool things about Kotlin, so I decided to try it. It was so fascinating that I decided I had to tell the world about it. If you suspect you are at the forefront of a new trend or industry innovation, talk about it in the best way you can: articles, talks, books, or even online courses. It will never be a waste of time as you’ll get a lot of skills in the process. Then, if it finally takes off, you’ll be very well positioned.
You recently quit your work at Plex and started working full-time on your own projects. What led you to make that decision?
I had a great time working at Plex, and the work-life balance was pretty good because it’s a remote company. But I also had my projects, and, after our baby was born, my time was dramatically reduced. So I had to make a decision: keep working for a company and forget about my projects, or run my own business. I decided to do the second for two main reasons. First, I’ve put a lot of effort into my projects for the last few years, and I couldn’t just throw everything away. Second, because working for myself would provide me with even more flexibility, and since my top priority is my family, flexibility is important to me.
But one question I usually ask myself in these situations is, “What would my future self regret most not having done?” And that was clear to me. I’ve always had in my mind the idea of running my own business, and I would regret not having tried. I can always get back to work for a company, but I could not be in the same position to build a profitable project ever again.
How does working on your own projects compare to guaranteed employment?
Well, the uncertainty is probably the biggest challenge. You don’t know the amount of money that you’re getting at the end of the month; that can be pretty scary, especially if you don’t have a financial cushion, which I always recommend doing if you can. But, on the other hand, growth has no limits. If you’re working for a company, you know there’s determined salary limits that are pretty difficult to overcome. If you run a business, that issue doesn’t exist.
If you are working for yourself, you can also balance your work and life as you want. If you do it wrong, you’ll end up working more than in a regular company for less money. If you learn to delegate, your company could ideally continue working without you. I always try to keep that in mind: I’m building up a business, not a self-employed job.
A common fear of many indie developers, or people working on their own, seems to be the fear of not earning enough income. How do you manage to have enough projects on your plate to ensure a decent living?
This is still something I haven’t accomplished entirely, but there are some rules that I try to apply in my projects. There’s something called a “sales funnel” that can lead your followers from simple readers to customers, and from cheap products to high-priced services. The trick is to have one product or two at the beginning of the funnel that many people can get at a low cost. Then, based on your historical sales, you can predict how much income you’ll have for the following month. Then you know you can count on that to pay your regular expenses and your collaborators if you have them. The trick is to find automated ways to sell these products so that you can spend more time in the premium products and services, which will bring you a significant income. These are more difficult to find—and you may find some months in which you have nothing—but are the most profitable.
You have been producing a lot of work on your own—mentorship courses for developers, instructional courses, as well as self-publishing a book through different platforms. What led you to self-produce this content, instead of relying on a third-party company, such as a publisher?
If I had produced the same work, but by using publishers, I couldn’t be living off of it now. Publishers are usually, though not always, a good amplifier of your work. But you’ll often get a very minimal income for your work. If your only plan is to use the content that you create as branding to earn a reputation, a publisher can help. But if you want to make it profitable, then you need to go on your own. The journey is long because you need to be positioned somehow in your field so that people trust you and get your products. But, once it’s done, it’s much more worthwhile.
What are the most important tools or resources for someone interested in self-publishing or self-producing? Any that you’d wish you’d had for your own work?
The first thing is a blog—a place where people can reach and read your free stuff. WordPress is the most flexible and extensive solution for this, so I wouldn’t reinvent the wheel. Then, you need a community, and email marketing is what continues to work. This means giving something for free to someone to get their email in exchange. Once you have that, you can keep giving them free content and start making some sales from time to time.
To start selling, the simplest option is to use a cart solution like SendOwl, which allows you to sell and serve the content files of your digital product. For books, this is more than enough. For online courses, I’d look for a sound learning management system. You can do this on WordPress, too, or use software as a solution (SaaS). Both have their pros and cons to discover.
To write the book, using Leanpub helped me a lot, not just as a sales platform—I sell the book in many other places—but also for the book editing. With them, you need to write the book in markdown, and, with a few settings, Leanpub creates the book for you. This translates to tons of hours saved. Then you can export it for printing, and use print-on-demand resources like Amazon’s Kindle Direct Publishing, or KDP, to sell printed books. This is by far the cheapest and easiest way to sell physical books.
In general, that’s it. I use several other tools for business logistics, invoicing, etc. But that will come later when you start generating some income.
Are there any instances in which you think self-producing would not be the best option for someone in your position?
For the book specifically, if you find a good publisher that can deliver your book to all major shops and make it reach many potential customers, it can really help. You won’t get as much income from the book as self-producing, but your reputation can help sell other products or services. There are other things to consider, too.
You are a non-native English speaker who writes books in English. There are many developers like you who are shy to start developing publicly, writing or teaching. What advice would you give them? How can they overcome their linguistic fears and improve?
That is my major fear. I’ve struggled a lot to learn to live with it. My only suggestion is to try to do what you think you can’t do and see what happens. I’ve been rejected in some places because of the language barrier. I’ve had some bad reviews of my book because of it. I’ve had several uncomfortable moments when talking to native-English speakers, but these have been very few examples when compared to the gratitude received for doing all that I’ve done and for helping them achieve their goals. I keep working hard to improve my English and to push my limits forward. For instance, now I’m starting to interview other Android developers in English, and I’m creating a powerful teaching program that requires a lot of my own interaction; I know my English won’t be perfect, but if it can help other people, it’ll be good enough.
Working on your own projects, how do you start your day off with a bang? Do you have any secret morning routines that set you up for success?
I’m terrible with routines. I’ve tried many different things, but I haven’t found any routines that make me feel more productive or successful. I try to sleep enough—around seven hours—and have everything well-planned so that I don’t have to think once I sit in the chair.
How do you stay highly productive for long stretches of time?
For me, proper planning makes it all. I have a big picture of the whole current quarter, what goals I want to achieve, and a way to measure them to let me know whether I succeeded or not. These goals are more of a personal challenge rather than an inflexible rule, because things happen. I like to have room for improvisation. I organize all these quarterly projects in a tool called Plutio—though there are several similar ones—and divide each project into smaller tasks. Those tasks are usually no longer than a few hours, up to one or two days.
Then, by using a productivity tool called time blocking, I block some time for those tasks in Google Calendar, and leave some free space for possible unexpected tasks, and also for some recurring tasks like checking emails, social networks, monthly accounting tasks, etc. Once I have my week organized, I need to check the calendar in the morning and start doing. This is, by far, what makes me productive, reduce stress, and lets me be realistic about the goals that I want to achieve.
What resources have helped you? What are three resources that have had a lasting impact on your work?
The most impactful books in my career are not related at all to the career itself. Based on my experience, the people who make you change your paradigms and the way you understand the world or your life are the most valuable ones.
First, The 4-Hour Workweek by Tim Ferriss is a classic one, I know! But thanks to this book, I realized that you don’t need to follow the traditionally established path; you can shape your life however you want. After reading the book, that was the first time I started thinking about passive income, which led to my book. I also saw the possibility of running my own business, which ultimately made me leave my life as an employee and start as a freelance trainer.
I’d also recommend The Money Code: Free, Wise and Rich by Raimon Samsó. The book is like the Spanish version of Rich Dad Poor Dad: What The Rich Teach Their Kids About Money—That The Poor And Middle Class Do Not! by Robert Kiyosaki, but way better, in my opinion. Depending on the education we receive, we can have many mental blocks regarding our relationship with money, and this book helps unlock them all.
Finally, a Spanish podcast and radio show about self-improvement called Pensamiento Positivo, hosted by Sergio Fernández. It explores that the better you know yourself, the more you can impact other people with your acts and your work. I got many life-changing ideas from this podcast.
For instance, the ideas brought here helped me realize that, even by being a very shy person, I could put myself in front of an audience and say what I have to say. And this only comes when you realize that the worst thing that can happen is so insignificant in the whole progress of your life, that the outcome doesn’t matter. Just do what you think is right and forget about the people that might not like it. Or that only when you have helped yourself, you will be able to help others. But it’s really important to be selfish, because it’s only when you feel at peace with who you are, and only when what you’re doing is aligned with your values, is when you can start doing great things and leave a footprint in the lives of others.
“The community, events, and networking are the most powerful tools to become a great developer—more than reading tons of books or working hard on your own every day.”
What is something else you wish someone had told you back when you started software development that you had to learn the hard way?
That the community, events, and networking are the most powerful tools to become a great developer—more than reading tons of books or working hard on your own every day: The inspiration you get from other people, those ideas that you overlooked but were necessary, those connections that open doors to new opportunities. I owe most of my success to the Android community, but it took me several years until I realized this.
What is a current community or industry trend that you think is wrong?
I think that one of the most exciting aspects of our industry is also one of the most dangerous: everything evolves very fast—too fast for a developer to stay up to date. So I see many developers worried about being left behind because they don’t have time to learn this new library or that new framework. And that’s dangerous because it creates a global feeling of impostor syndrome. This, together with the crazy hiring processes, makes developers feel that they are not good enough for any good positions.
What would you suggest is a better alternative to this trend?
It’s not easy, but the most visible faces of the software industry in each field could help a great way by showing their limits and how they don’t know everything, either.
- “Achieving Your Childhood Dreams” lecture | Randy Pausch