TL;DR I've been able to build Fubolista faster by leveraging what I already know, focusing on the right things, and sharing my progress.
I've heard and repeated expressions like "KISS (Keep It Simple Stupid)" or how you need to learn to prioritize your tasks.
But as a software developer, the reality is that I've often found myself diving into the details of a problem, sometimes even the wrong problem.
I've spent a lot of time optimizing for situations that never ended up happening.
With my latest project though, things have been different. I've been able to focus and get things done at least 4x times faster.
This is thanks to things I've learned over the last 10+ years, but also things I've recently learned on the go.
At times, I've been distracted by "the latest new tech" instead of focusing on getting the job done.
FreeFooty is how I learned a concept called GraphQL. It helps users of your app use less data and makes it easier to build mobile apps.Out of the 4 months I spent building the app, a lot of it was spent learning this tech instead of building.
To be fair, I did not know anything else and it did help me land a job at Shopify.
It's good if your goal is to have a career in Software Engineering. But not if you want to become an entrepreneur.
The next app I built was Ottleti, which I used to learn 2 new programming languages.
I also learned how to use React Native, which lets you write code once to obtain both an iOS and an Android version of your app.
On one hand, this is valuable skills for the next time I want to prototype an app.
On the other, Ottleti did not succeed, so instead of spending 4 months on it, I could've instead built the iOS version faster.
Then, I would've realized that the app idea was not successful, which would've meant I did not need an Android version.
With ilufy.io, I learned yet more new tech, but at least I was reusing skills I learned while consulting for OPSM.
This helped me go faster because even though I spent 4 months on it, I managed to build iOS, Android, Web, and a server.
This means I was roughly twice as fast as before. I'm now cutting that in 4 thanks to my "4 weeks" commitment.
My mom always says: "Franck can do anything, but only when he wants to". In other words, I'm a lazy person.
I like to give myself 110% for what I believe in. Barely 40-50% for the rest.
It's probably a flaw of mine, but it's very easy for people around me to figure out what I care about and what I don't care about.
Sorry for the bad picture quality, but I just had to share this.
I chose to look at it as a superpower. Because when I do care, I can surpass myself.
The downside of caring though, is that you worry. When building software, I worry a lot about how it looks, whether it will work as expected, or whether it will keep working if a lot of people use it.
A lot of times, these worries come from what I learned in university and at work. University prepares you for work, so it makes sense.
The company you work for probably grew to a stage where they are facing a lot of these issues. Except if they are a startup.
And that's where you are when you build software. You are a startup.
It only makes sense to worry about things when they actually happen. Because you don't have users at the beginning.
You can always fix things as you go. If someone tells you something is broken, it means they care! It's a good thing.
At the beginning, focus on releasing your first version to see if people like it.
Something I learned while building Fubolista over the last 3 weeks is that sharing my progress forced me to make progress.
I share my progress with friends/family (most importantly with Anton who's my first "client").
What's new though is I also started this blog. The biggest benefit is that I feel like someone is watching me and I need to make progress.
I purposely don't check how many people read it because I don't want to get distracted seeking for attention.
But it helps me commit to small goals that I'm able to focus on and cross off my list one step at a time.
For example, in my last post, I mentioned I'd get feedback on my current design and allow page edits to be saved.
Not everything in the website is editable yet, but there's progress!
My focus will be to finish that this week and for the final week, I would like to allow multiple players to have their own website.