Pet Projects And New Year’s Resolutions
The holiday season is the perfect time for working on my pet project. Everyone is off with their families. Email is quiet, Github is silent, Jira is calm. Even the customers are taking some time off, which means I can use this opportunity to invest in what really matters.
Of course, I could spend some quality time with mom and dad, trying to dodge the usual pesky questions. I could log back into World of Warcraft and finish my daily quests. Theoretically, I could even go outside. But let’s not go crazy here. So, what else should I be doing right now?
Chasing unicorns, and other pets
Last year I made a new year’s resolution to spend more time on my pet project. Write some beautiful code that will make the world a better place. Something that will challenge me and help me master a shiny new technology at the same time. Something that will spark some electricity through the creativity and problem-solving circuits of the dark side of my brain. And hey, if it also ends up becoming the next Unicorn, you won’t hear me complaining.
But like all new year resolutions, this one was impossible to keep. As it happens, I spend all of my days (and most nights) coding anyway and so, when I finally have some time off, I’d rather be doing anything else.
Now is different though. Now I’m on holiday. There should be no distractions. Nothing should stop me from quickly writing an app to help people connect over video. Or an app to automatically track and map locations of beautiful Christmas light setups Or an app to warn me about obstacles when I’m riding my electric scooter.
And so it begins
My mind is set. I pull out my laptop, start up my favorite IDE (my true safe place), put on my noise-canceling headset, and start coding. A weekend project done over the holiday; I should have a working POC in no time! Right? When they make a movie about it, I hope they get someone handsome to play me.
An hour into coding, reality kicks back in. There comes a dawning realization that some of the stuff that makes my day job feel like, well, a job, also applies to my pet project. With barely more than a “hello world” mockup up and running, I’m already facing some annoying bugs. I add some logs to try and debug them. Nothing beats good, old-fashioned `printf()` debugging, right? But I end up getting horror flashbacks from my day job.
The code is buggy and full of errors
What’s gonna happen when I build a CI/CD flow around this app, to make sure my revolutionary MMORPG has daily updates to keep it fresh? How long will I have to wait when I want to add a log line then?
What will happen when I deploy my app to Lambda because serverless computing is a perfect use case for my new blockchain-powered e-greeting card service? How will I be able to debug it? How the he$% should I be expected to reproduce issues that only reproduce in production because my revolutionary ‘it’s-like-Shazam-for-ice cream’ app has trouble telling gelato apart from cats?
Conquering fears without leaving the comfort zone
Naturally, my pet project goes through a quick pivot. So I decided to spend some quality time setting up Rookout and getting myself familiar with its capabilities. I learn how to add log lines with a click of a button, no longer waiting for a CI/CD flow just to add some missing logs. Next, I discover how to set breakpoints and get full visibility into my code, wherever it may be running (even in serverless frameworks).
And then, before I even realize it the impossible happens: I get used to debugging in production without fear. Turns out that with Rookout, “could not reproduce” is a thing of the past. And I get to do all of that in the comfort of my IDE! My safe place, the place where I want to be debugging from.
Moving on: rewards and fresh resolutions
I do all of that in a matter of minutes. Which leaves plenty of time to get back to my pet project. After all, brushing up on new shiny tech is what the pet project is all about. My app isn’t up and running, but I did find a new helpful tool, and that’s something. Maybe I can reward myself by playing some more WoW. Or maybe I’ll even step out of my room and say hi to mom and dad. After all, I’m now brave enough to debug in production, so surely I can take a few pesky questions during the holiday season.
Before shutting down my laptop, I make a new year’s resolution to spend less time debugging and adding log lines, and more time writing beautiful code. And next year I’ll write an app that helps me keep my new year’s resolution! Or an app that removes distractions. Or an app that thinks up beautiful pet project ideas. But whatever I’ll be writing, I know Rookout will be there to help.