Mike Rubini is a self-taught web developer who has earned $100,000 over two years from running bootstrapped businesses without any outside funding. He doesn't have a CS degree but has successfully learned to code and make money. I chatted to him about how he runs his profitable SAAS businesses and the benefits of learning to code.
Hey, so can you introduce yourself?
Hey, I'm Mike. I run multiple profitable software products with no investments, no team, all the way from Italy - and, the part you guys like the most: no CS degree!
Nowadays, I run 6 profitable SaaS and 2 others that are free. These include:
- Treendly, which allows you to discover rising trends you haven’t heard of in different countries and industries
- Cart, where we sell e-commerce data
- Groouply, where we monitor Fb groups
Every year I build 5 new software products on average, so if you want to see a complete list or stay up to date go to: https://rubini.solutions
What does a typical day as a software developer look like for you?
It depends. Nowadays, I work a lot (~15 hours/day) and I’m the most productive person I know.
As I do everything in my business, coding is not the only part I focus on. In fact, I think that working on the product should be the last part that a developer-maker should do. People tend to go back to what they know best and for developers, that’s coding.
That being said, I do spend a lot of time on Sublime, my code editor of choice. Rescuetime tells me I average 3 hours/day in there.
Most of the time is spent building new SaaS entirely, or optimizing things. I don’t think adding new features is a good thing necessarily, I like to build via negativa.
My stack is mainly PHP, a little bit of Python, and then the obvious HTML + CSS + js. I don’t use any frameworks, as I hate all of them mostly because they overload you with stuff you don’t really need. I just like to load what I need on a project basis with composer.
The only framework that I use on the front-end side of things is Bulma.io, which I really like because it saves me ton of time.
Why did you learn to code?
My background is in music. I studied music basically all of my life, since I was 4 years old. I graduated in saxophone performance from my local conservatory in Italy and then moved to the US to study at the New School for Jazz and Contemporary Music in New York. That was a dream come true of mine as I’ve been in love with jazz since I discovered it.
Finding how expensive the education system is in the States (even if I was on an international scholarship!), I had to came back to Italy where I then graduated in jazz composition/performance and then proceeded to get my certification to be a music teacher in public schools.
I hated teaching to kids because it was a clear compromise on my art. I didn’t study music because I wanted to be a teacher, I studied it because I love music and I want to play it. That’s why I quickly quit my job, even if people thought I was crazy to leave a well-paying, stable and safe job where the paycheck arrives on time every 1st of the month for the rest of your life.
Luckily, I had been building my own software products so I had something that made money that I could turn to.
How did you learn coding?
I’ve been into computers since I was 9. I didn’t study programming seriously, ever - but I was attracted by the “hacking” world when I was a teenager.
Through that world, I learned that you could code to tell a computer what you wanted to be done, and I was particularly fascinated by remote connections (the socket side of things). So I would prefer learning how to connect to a website through a GET request rather than building a calculator locally :P
Back in the days, I had my fair share of fun as you could scrape Google (it did not have captchas yet!), upload remote shell on buggy websites, etc.
I was also always attracted by languages that were fast and didn’t require me to do boring things like declaring variables type, and generally that could shorten the amount of directives needed to do something.
That’s why, even if I learned C and C++, my first love was PERL. To learn it, I would follow free guides online, do a lot of experimentation, and I also would hang out on IRC in the official #perl channel and just ask senior people how to do stuff. 😀
Eventually, I migrated to PHP, which is what I mainly use now. I interviewed for a job and they were using PHP, so I learned it in a week.
I would stress, though, that once you learn a language you are pretty much set. The logic will always be the same, even if you change programming language in the future. What changes is only the syntax of it.
Can you tell us how you got into making SAAS products?
When I started my first SaaS, I actually had quit coding for years, just because I wanted to focus 100% on music, and also didn’t think enough of my coding skills (hello imposter syndrome 👋)
I was much more of a marketer, and an opportunity presented itself when I bought a course on affiliate marketing. I spotted a loophole where I could use my skills as dev, but also clearly saw the need for the solution I was going to build. That’s, to this day, my forte: merging marketing and dev.
My first SaaS did make some money, but didn’t go as well as planned for different reasons, which I do not want to address because they made me sick - even on a physical level. Suffice to say, after that experience, I learned a lot and went out to build the basis for how I operate now by basically doing the opposite of what I did the first time. Now I operate alone vs having a team, I bootstrap vs having investors, and super-fast vs spending time in meetings.
Since making that shift, all of my SaaS products are actually profitable in the first week or less (or otherwise I ruthlessly cut them). My time-to-market is 2 days, on average.
My advice to people who want to replicate this is:
- Just start, which really means stop consuming and start producing something. Anything.
- You don’t need 99% of the things you think you would;
- Go to market as fast as you can.
How did you get up to $100k in revenue?
Just to be correct, I did make $100k in revenue, but in two years. I’m big on transparency, by the way. I even made a platform where I share my app and revenue metrics, and what I’m working on, publicly.
Here is how I did it:
- In 2018 I launched 4 products, 2 are still making money.
- In 2019 I launched 4 products, 2 are still making money.
The thing people do not realize is that if you build multiple products, they can multiply over time. That’s what I do.
Everybody says focus on one thing, and that can be true. But, the opposite can also be true. Instead of going 1 to 10 with one product, I decided to stack products and eventually reach 10 by going 1 + 1 + 1 [..]
From the coding side, when you approach things like this you can reuse a lot of stuff, and apply what you know to multiple products at the same time.
Over the time, I built my own little PHP framework which allows me to build fast and refining that framework, refining that process is the real business. Launching SaaS is just an outcome of that process.
What was the interview process like for your first job?
I mentioned a little bit of my first interview as a programmer already, but lately I’ve been also consulting as a marketing technologist. It think it helps me to stay sharp.
I feel a lot of developers rely on interviews to get jobs and just follow what the employer asks of them. While there are companies (especially big ones) where you have to do that, I think there are companies in which you can have an advantage by using a framework I call “front-loading the work”.
What that really means is demonstrating your abilities for free and adding value to the employer, without requiring permission. I do this all the time.
I signed my last consulting client because I invested my time in building a SaaS MVP that I felt could help them, and then reached out to almost everyone in the company. I got a meeting with the CTO on the same day, and then I’ve signed them the following day.
The best part? When I looked into their job openings, they only had an internship position available as a data analyst. So, they didn’t have a position for me, but they created it.
This approach will also let you skip all the whiteboard interviews, portfolio kind of stuff. All employers want to solve a problem - if you can demonstrate that you can solve it, you will have the job no questions asked.
How do you stay organised with running 5 products?
I can talk to you about how I use Todoist, and Trello and score tasks through the RICE scoring system - instead I’ll give you my #1 tip: you have to optimize everything for what you want to achieve. As my friend Ryan Kulp (founder of Fomo.com) would say: all you need to do is whatever it takes.
I typically wake up around 7am, do one step from my bed to a table where my computer is and I start working until 11.30pm - I don’t use any fancy stuff except for my computer. I don’t use a mouse, I don’t use a second screen, I don’t have my computer at eye-level and all that jazz.
I just work.