Side Questing: Leveling Up as a Developer
TLDR: You should have a hobby and always strive for continuous growth. If you have a skill, never settle for mediocrity, and always aim to improve.
”The best way to predict the future is to create it. A hobby is the first step in creating a new part of yourself.” – Unknown.
Over two years ago, I started watching a Wise-Moustache man on YouTube, and I loved his perspective on most topics he reacted to. For once, I felt like there was someone saying everything I’ve always wanted to say, supported by years of experience behind his thoughts and opinions. It was amazing listening to his view. Still, a quiet unease never left me.
At that time, I had a little more than two years of software development under my belt, focusing mainly on mobile development with Flutter, and had just started exploring SwiftUI.
By the third video, I found myself lost. Dude was talking about ideas completely foreign to me. Each pause turned into a frantic Google search, and the constant back-and-forth was wearing me down.
What the hell is an “ARC Mutex”? Was I supposed to know what a TCP protocol is? Why isn’t he explaining it? Am I the only one here who can’t just whip up an HTTP server before breakfast? And seriously, why does he keep yelling “Tokyo”? Is that a framework, a city, or some kind of inside joke I missed?
Then he casually mentions “piping output in the terminal” like it’s a life skill, as if I wasn’t still figuring out how to quit Vim. Oh, there’s a difference between Neovim and Vim?? Fucking looks the same to me. Next thing I know, he’s throwing around words like ASCII Art, parsers, memory allocation (okay, think I know this one — it’s part of programming languages magic, right???), event loops, and something called a deadlock??? which, apparently, is not just what happens when you forget your lock keys.
At that point, I was convinced everyone else was a 10X dev, and I’m just a soy dev (another word I embarrassingly had to Google, because of course I did).
But for the first time in a long while, I was actually excited.
There was this weird joy in learning just one more word, one more tool, one more algorithm or technique that my monkey brain couldn’t fully comprehend yet, but at least I now knew it existed, and someday it might actually make sense.
And that feeling… it was like learning programming all over again. Like the first time I wrote a little Python script to do basic arithmetic and immediately felt like Elliot from Mr. Robot, hoodie up, terminal open, convinced I was about five keystrokes away from taking down Evil Corp.
Picking up side quests
Then I started wandering off into random stuff, picking up side quests left and right.
I spent about a year with Rust and built a few fun little projects. The first was a basic CLI tool to automate uploading APK files to Google Drive (a task I was doing way too often as a mobile dev). I hit plenty of weird blockers and headaches along the way, especially my epic boss battle with the Rust borrow checker, but each time I came out stronger.
After that, I spun up a TCP server (turns out it’s like 10 lines of code), then a very basic web server, and suddenly I understood why threads and concurrency were actually a thing. I built my own humble version of grep
, a Chip-8 CPU emulator, a JSON parser, and even learned what tokenization was, and why writing your own recursive parser feels so sweet.
And that’s just a handful of the side quests I completed. On other fronts, I started poking at Flutter’s rendering engine, diving deeper into the low-level madness, just to see what made it tick.
The cursed path: C++
At some point, that curiosity spiraled into an even wilder side quest: building my own UI framework in C++ with Skia as the graphics engine.
Why C++, you ask? Honestly… just to feel something.
I wanted to understand firsthand why everyone calls it such a cursed language. Because, as the fool that I am, hearing about other people’s mistakes is never enough, I need to touch the fire myself, like a baby reaching out for the pretty glow of a candle.
It’s just a pet project, but one I keep tinkering with on the side. (I have thoughts about that thing called C++, but I’ll give it a year before I make my final judgment.)
A different kind of addiction: Neovim
Around the same time I was learning Rust, I wandered into another side quest: Neovim.
First, I installed LazyVim and rode that wave for a few months before rage-uninstalling it. Then came ChadVim and about a dozen other “starter kits,” until eventually I gave up and built my own config from scratch.
Naturally, this cost me 20+ hours of “productive” time, just to shave a few seconds off my typing speed, seconds I promptly wasted scrolling the internet anyway.
But hey, now I get to say the most important flex in dev culture: “Yo, I use Neovim btw.”
Why side quests matter
Here’s the thing: whenever you take on a side quest, no matter how small, and even if you don’t finish it, you always walk away with lessons.
They’re like scars from old battles: reminders that make you sharper in the next fight. Sometimes you discover your idea was terrible, but now you know why, and that knowledge becomes ammo for the future. Other times, you realize you picked a level 50 quest while still rocking a level 5 character, but even then, you gain XP. You grow wiser.
You can even guide others down the right path. Slowly, you build up your own arsenal of tricks and ideas, like a COD player scooping up loot from fallen enemies. And just like in the game, you might not use that loot right away, but one day, on a future quest or mission (aka your day job), it turns out to be exactly what you needed all along.
Closing the quest log
So, close your quest log for a second and pick a new side quest.
It doesn’t have to be grand: a tiny project, a weird tutorial, or tinkering with a tool you don’t understand yet is enough. Each little quest hands you XP, weird loot, and battle scars that make the next boss feel smaller. Fail spectacularly, learn loudly, and laugh about it around the campfire; that’s how real growth happens.
Go on a side quest today. Level up a little. Tomorrow you’ll have one more trick in your inventory, and someday those tricks will be the difference between “I’ll try” and “watch me.”
Press E to interact; the world (and your future self) will thank you. ✨