Debugging Writeathon

That time when I entered a debugging writing contest

without any debugging experience.

When Hashnode announced their #DebuggingFeb Writeathon, I immediately decided to enter. It was a no-brainer: I'm an experienced writer and people generally find my work entertaining. It was also brainless: I've not yet learned how to identify bugs, much less eradicate them. But being a noob, this was the only chance I'd have to participate in a coding-related contest for a long time. So I sat down, wrote for half an hour, and entered the result in the contest, alongside all the proudly technical submissions. Here's my modest submission, and if you're on Hashnode yourself, show some love and be my friend there!

A Dry and Highly Technical Report on Debugging

j/k i have no idea what i'm doing!

I live in a garage.

I moved in a month ago, to save money on rent while I learn software engineering. It's a quite nice garage, but I'm not the first person to live here, and I certainly didn’t build it myself. It’s full of eccentricities: odd odors; a fridge that sounds like a Volvo 240; and of course, bugs.

Every day a new many-legged horror reveals itself and must be dealt with. But how? I’m inexperienced and woefully outnumbered. Should I catch and release this one, or is it part of a delicate indoor ecosystem that will fall apart after being tampered with? Can I somehow safely contain it until someone more experienced tells me how to proceed?

Some days I'm tempted to burn it all down and build a bug-proof home from scratch.

Days like this one, mostly :/

When I contacted the former occupant for guidance, he had none. No tips or tricks, no memory of what popped up when or how it was handled. Some documentation would have been useful, but at least I’m starting to recognize patterns.

Sometimes a moth approaches when I perform a specific action, like turning on a lamp in the evening. Sometimes a furry spider the size of a ping pong ball sneaks in when I forget to check that the windows are closed. These are reproducible events!

This one turned out to be not reproducible o_o

Most trouble, though, finds its way in simply because garages are vulnerable, and often not built to code. This one's door has either never fully closed, or something changed such that it doesn’t fully close anymore. Cracks abound and multiply, and now that I'm in charge, I’m doing my best to seal them. I’m starting to develop my own debugging toolkit - mainly wide-mouthed jars, long-handled spatulas, and a sturdy step stool shaped like a Tibetan white yak. I’m testing my fixes. I’m getting better at it.

Literally the same ><

When I moved into this garage, bugs were far from my mind. I was thinking more about what new features I could build. But bugs came with the territory. In trying to improve the place, I’ve let in my share, too. Maybe I’m not seasoned enough to bash them yet, but I’m doing a fine job of patching up the place so new bugs are less likely to get in. When I move out, the garage won’t be perfect. It can’t be. But it will be in better shape than when I arrived, and I'll be a respectable software engineer. I’m definitely leaving documentation for whoever comes after me. And when I do start building a new place from the ground up, I’ll keep in mind everything I’ve learned here, in this imperfect ... buggy ... beautiful garage.

Not pictured: thronging hordes of the underdark ... I mean bugs.

There you have it - a debugging article by someone who's never debugged. I hope was a refreshing breath of air for the contest judges. If they smile when they read it, that's prize enough for me. I hope you smiled, too. If you did, maybe share this with someone you think would enjoy it :D

With gratitude,

Ren