I Gave Myself A Hernia Coding
Steven Reubenstone
Software Engineer, Solutions Engineer, Dev Advocate, Educator, Product Manager, Prompt Engineer
Well, it wasn’t actually a hernia, but I really did think it was. Turns out, it was a torn abdominal muscle. But, who the f*ck knew you could injure yourself coding?
It all started innocently enough. I was working on a new feature for UpskillHero, the side project I've been working on. Previously, in the app, users had to go to their profile to see all of the funny self-discovery prompts they've answered. It was a bit tedious to go all the way over to your profile to check in on these prompt threads, so it made sense to make these prompt conversations accessible from anywhere in the app.
The plan seemed straightforward: place a little puzzle-looking cube on the main interfaces so users could click it and see a list of all the prompts they've commented in.
But then I ran into a horrific cache-related bug.
My goal, in addition to just listing out the prompt threads, was to bring in all sorts of fancy statistics associated to each prompt thread. The cache, however, had other plans!
My cache library, Apollo Client 3, got tripped up for reasons I’d rather not get into (trust me, you don’t want the technical details, but it relates to asking for nested information that was causing cache inconsistencies in other parts of the app).
For some reason, on this occasion, the engineer in me took hold before the product manager side of me could intervene. (This doesn’t always happen, but on this day, the engineer charged ahead and didn't look back).
You see, one of my curses (and blessings) is that the engineer in me is relentless. I drive forward until something works, even if I'm getting physically ill. These engineering bugs are almost like missions I sign up to and I can't come back to normal until the bug is fixed.
When it comes to the product manager in me, I do stop, slow down, meditate, and re-strategize. If I had done this on this occasion, I would have easily realized that the extra stats features were adding negligible value to the end user and should have been scrapped.
But on this day, the engineer was in charge.
I get into these kind of messed up states where I’m so focused on fixing an issue that my body starts sending out distress signals: “Please, please stop!” I start to get a crippling tension headache. But I refuse to stop. I have a mission to accomplish. This is my product. I must fix it. My pulse elevates, and after a few hours of debugging, I enter a state I’ve dubbed “brain-sear.” It’s like a light electrocution feeling, but it doesn’t matter. I must succeed.
Eventually, after about 12 hours straight of debugging, I got everything working.
But then I felt an actual pop sensation in my stomach. It didn’t feel good. What the heck was that feeling?
After walking around, I thought it might be a hernia because I felt pain in my abdomen. Who the heck gets a hernia coding? But after ruminating on it for a few hours, I was convinced I’d joined the ranks of those brave souls who’ve sacrificed their bodies for their craft.
领英推荐
The next day, my doctor confirmed it wasn’t a hernia but a torn abdominal muscle. He looked at me with a smirk.
“How did this happen?” he asked, eyebrows raised.
“Stress,” I replied, deadpan. “I was coding.”
My doctor didn’t buy it. The doctors never buy the unconventional answers. But I’m telling you, there was nothing wrong with my abdomen before this. I work out smart to avoid hurting myself and yet, here I am, a coding casualty.
Do I regret it? No. You can only move on and learn. Plus, it's only a 4 week recovery time. Sometimes in life you are the only person there to back yourself up, and you may over do it sometimes. It's better than doing nothing.
From a product perspective, the ability to access prompts from anywhere has been awesome and has improved our thread-opening conversion metrics for both new and existing users.
The ironic, but all too common part of this: we ended up scrapping the stats side of this because it really was just cluttering the UI! (All of that for nothing).
The moral of the story? Do what you need to do to accomplish the task at hand. Sometimes, you can’t pace yourself. Sometimes, you won't make the right decision. You’re under time pressure and if you’re a solo entrepreneur, you have to rely on yourself. You just have to work through the pain of the process and the pain of learning from mistakes. Just be prepared for the odd torn muscle along the way. But if you can find that product manager in you, let that side of you govern your decisions.
If you're interested in checking out the app, it's UpskillHero on iOS: Get inspired to learn new things by answering self discovery prompts with people nearby.