Ya Ain't Gonna Need It.
Do you like making stuff? Do you like woodworking? Do you like tinkering with engines? Do you like soldering electronics? I do too! But none of those things like me back. I suck at all of them.
What I don't suck at is coding. At least that's what I tell myself. So if I am to build something, I am to build it with code. There is nothing more magical than coding because you create something out of nothing. You don't need any materials such as wood or wires. Just your wits.
So what's keeping me from building the next <insert hotness here>?
Wow this is getting deep. Of course, nothing I build is gonna be the next facebook or instagram. But, whatever it is I know it will be worthwhile because
- It is going to be useful to me or the people around me
- I am going to enjoy making it because I am going to build it my way
I over-complicate stuff. I love to procrastinate. I suffer from new shiny object syndrome. Decision fatigue is real. All of these are just a few of my excuses. Not anymore.
"Always implement things when you actually need them, never when you just foresee that you need them"
- Ron Jeffries
This is such a good advice. Many times have I thought "If I could just do this one teeny tiny thing, I could make this object completely reusable and future-proof!" Fast forward to the future, that teeny tiny thing never really did much except inflict decision fatigue.
Pareto principle or 80/20 rule states that 80% of the result comes from 20% of the effort.
The tricky part here is to find that sweet 20%.
If this were a bible verse, I would be all over this shit, printing bumper stickers, wall posters, wallpapers, etc.
This is where you decide on how long you want to complete your tasks and commit to that. It's usually chunks of 25 minutes each. Sometimes I do 50 minutes. It really depends on the tasks at hand.
This technique helps you get to Flow(TM) but it needs a little bit of practice at first.
To make this more fun, I record myself using OBS Studio and pretend to be a bigshot coding streaming sensation with all my fans rooting for me to get the shit done - whatever that is.
Those are the main components of the diet and with proper exercise, will definitely produce positive results.
Here are some of the recent exercises or experiments I have been working on:
Experiment # 1
My wife recently picked up a hobby. Plants.
Soon she began selling them. She uses several platforms to connect to buyers but she doesn't have an online presence of her own.
Perfect! I thought to myself. This is a great excuse to build something.
"I will make you an online shop!" I announced. Without really waiting for any response from her, I sat down, git clone nopcommerce, made modifications to the code, and deployed to my web hosting platform. All in a day.
The past me would have enjoyed designing my own e-commerce website and after a month, I would forget the whole thing. By standing on the shoulders of nopcommerce, I achieved 80% of my goal with only 20% of the effort.
Experiment # 2
A buddy and I decided to start a podcast. Our goal is to share our experience with the hopes that other aspiring and new Filipino developers might learn a thing or two.
Another excuse to build stuff!
Again, I sat down, dotnet new piranha.razor, made some code changes, and deployed to my web hosting. All in under an hour.
I even recorded myself doing the whole thing in Youtube. Sometimes I record myself performing tasks and keeping a close eye on the recording timer. If I am not using a pomodoro timer, I rely on the video duration and try to keep tasks under an hour.
Past me would have used VueJS 3.x connecting to dotnet core 3.1 Protobuf WebAPIs and probably DDD the hell out of that shit. And then one year later, I am reminded that I was supposed to be working on this thing because of the domain name expiration email.
Experiment # 3
If the previous example seem pretty specific, it's only because I received an email this week about yayabels.com is about to expire. So don't click on the link yet, it's not ready.
I will apply the same principles here and I'm sure I will get better results than last time. So keep tuned in!
Edit: yayabels is up, so go ahead, click that link :) +1 for the YAGNI diet!!!
Life is short.
I love this book: "The Subtle Art of Not Giving A Fuck". Because I can apply it here as well. There are only a finite number of fucks we can give in our lives. Make them count. Do not over complicate stuff. Get shit done and move on to something else.