Engineering: The Art of Debugging Life.
There's a famous saying in India: If you don't know what to do with your life, do engineering, and you'll figure it out. And surprisingly, it's kinda true.
Before engineering, I was a socially anxious kid who relied on his parents to make all his decisions. After four "life-changing" years? I emerged as a socially anxious kid who can code and occasionally make his own decisions. Progress, right?
The Curriculum: A Blast from the Past
Let's be honest: the curriculum in most 3-tier Indian engineering colleges is like Windows XP—functional but painfully outdated. We were learning about stuff that had already been labeled "legacy" by the rest of the world. So, it was clear early on: self-learning was my only hope.
But self-learning sounded daunting. I mean, figuring out what to learn, finding resources, and actually committing to it felt like trying to reverse-engineer the source code for a Google algorithm.
Divide and Conquer: The Merge Sort Epiphany
Then one day, while Leetcoding, I stumbled upon a question: Merge Sorting a Linked List.
The approach was simple: divide the list into smaller parts, solve each piece, and then put it back together—classic divide-and-conquer. That day, I learned an essential life lesson: Any seemingly impossible problem can be tackled if you break it into smaller pieces.
That's when I realized: life and engineering is basically one giant merge sort.Break big problems into smaller, manageable chunks, and work your way up.
And just like that, my engineering life became a series of tiny problems I worked on one at a time.
Debugging Woes: The Edge-Case Disaster
Until...I hit my first error.
It wasn't a silly typo, but something much sneakier: handling a simple edge case. I had tested everything I could think of—positive values, negative values, even random inputs—but forgot the most basic one: an empty input. The whole program crashed harder than Internet Explorer under pressure.
Hours of debugging later, I realized the fix was one extra if condition. That's when it hit me: programming isn't just writing code; it's thinking like an over-paranoid babysitter—anticipating all the ways something could go wrong.
Imposter Syndrome: Among Us Edition
The experience slapped me with something called imposter syndrome.
Overcoming it? Enter Among Us. Yeah, the game where you fake doing tasks while trying not to get caught. Convincing everyone that you are not an imposter. Overcoming self-doubt is exactly like that: Convince yourself that you've got everything under control. Remind yourself, It's not impossible. You'll get there. It's just a couple of loops and conditions.
Finding My Squad: The Club Chronicles
Once you start building cool stuff—like a calculator app or a to-do list— you'll naturally want to show it off. But who do you show it to? That's where the engineering squad comes in.
I found mine in college clubs. These were filled with other lonely souls who watched Fireship videos and laughed at Git memes. Joining these clubs wasn't just about learning new things; it was about developing social skills— learning to present yourself as knowledgeable and not completely out of your mind.
Sure, our friend group wasn't the coolest. We didn't dominate the college hallways or host epic parties. But hey, we had lunch buddies who could peer-review our code. That's all that matters, right?
Because engineering isn't a solo sport. Just like the saying goes: "Apes together, stronger." We're all better when we're in it together—whether it's solving bugs, bouncing ideas off each other, or just sharing the struggle.
The Final Debug
And so, here's the truth about those four years: engineering didn't just teach me how to code; it taught me how to fail and keep going, how to look clueless but learn anyway, and how to enjoy the process—even when it's frustrating.
So if you're starting your own engineering journey, just remember: the degree might be overrated, but the experiences are priceless. Oh, and never forget to check for edge cases.