In November 2023, I was part of a company-wide layoff that affected hundreds of employees. It was a layoff that nobody on my team saw coming, not even my own project manager, who was so irrationally angry for me when he heard I was the only one on our team getting let go. I had worked there for over 8 years, as my first and only job out of college. Needless to say, I had never experienced anything like this.
Nearly 20 months later, I finally got an offer! With that out of the way now, I’ve been thinking a lot about the journey I’ve been through over the past year half, with how much I’ve struggled, how much I’ve learned, and just thinking about how merciless the job market is today.
I had left the company completely underprepared. I thought I was learning a lot about software, especially from senior engineers above me whom I talked to and worked with every single day. I was getting comfortable with writing code the way my fellow engineers did. And I was seeing common patterns when debugging issues and navigating through hundreds of files of a codebase, especially in the scope of the domain I was working with. But after going through a couple of interviews, it showed that what I knew barely mattered.
I hadn’t interviewed for other companies throughout that time, as I was really enjoying my time working there and felt like I was learning something new every day, even 8 years later. I thought I would’ve been fine going into an interview with just a bit of prep here and there, some LeetCode for a few days, looking up common software engineering interview questions, and I’d be fine. I wasn’t planning on going for FAANG, and I had a pretty easy time interviewing for my previous employer. It should be fine!
Well, with the title of this post here… clearly I wasn’t fine.
I realized that majority of my technical knowledge, I had rarely if ever actually explained to another person before. It’s really weird to know something that you work with every day, yet you can barely put it into words because you’ve never actually had to after nearly a decade. Relatively simple things, like in threading explaining what a critical section is, or in networking explaining the difference between sockets and pipes – these are all pretty basic things from college. But I could barely articulate my thoughts. It was like trying to translate whatever foreign language was in my brain, into English. Even if I was able to explain it, my confidence in my answers were so low just because it wasn’t a question I expected (plot twist, I didn’t know what questions to expect because I hadn’t been interviewing). And confidence is EVERYTHING.
Then they started throwing questions about concepts I had never even heard of, but were expected of me as I applied to senior roles. I work primarily with C++, a language that gets updated with new features every 3 years since 2011. For any version of C++ starting that year, we call it Modern C++; older versions were called Classic C++. My workplace had really only worked with classic C++ (technically Modern C++ from 2014, or “C++14,” which our C++ framework was working on, but nobody on our team actually mentioned the term Modern C++ at all.) We’d casually use some Modern C++ features like the keyword “auto” and range loops – really just for convenience more than understanding why they’re preferred – but nothing more. However, interviewers started asking me questions, like what is RAII? What are “concepts” and “promises”? What’s an anonymous namespace? What about generics?
In hindsight, I feel like I deserved to not get hired because genuinely every C++ programmer in 2025 should know about these things – but I had simply never been introduced to them. This did expose one significant thing about my career however: admittedly I had paid very little attention to the tech world outside of work. I was one to think, oh because I’m learning so much on the job every single day (genuinely), for 40+ hours every week for so many years, I don’t need to keep up with what the rest of the world was doing. This was probably my biggest red flag honestly, and I sure was in for a rude awakening. It also showed how outdated a lot of our practices were at my last company (the average employee is fairly old for tech, maybe around their 40s.)
Some other questions they asked included things like design patterns: something I absolutely should be familiar with as a senior level engineer, but with 80% of the job being maintenance and debugging work, I wasn’t. Similarly, build processes and compilers: things that while we use every day, we barely work on it directly ever, especially when projects are all about improving legacy code.
Oh and don’t forget the LeetCode style questions! Where everyone says oh as long as you can solve medium difficulty questions you’ll be fine. Surprise, every other company is asking a hard difficulty now. And you don’t even solve these types of problems on the job, not even the medium difficulty ones. Converting binary trees into linked lists in an interview when your day-to-day job is mostly finding bugs and maintaining legacy code? I don’t even think I’ve used a tree a single time while employed. Relearning all that definitely took some time, on top of learning common interview algorithms like greedy, prefix sum, etc.
And lastly there’s those niche questions that you don’t need to truly understand the ins and outs of in your everyday work. Things like explaining the virtual table, the heap, garbage collectors, etc. I’m familiar with them and know when they’re being used, but fully explaining them like I’m a college professor… admittedly not so much.
I do think demonstrating a willingness to learn and a genuine curiosity can go a long way in interviews, and most people both interviewers and interviewees would agree. Whenever I did get such a question, I’d answer something like “I haven’t heard of that before, can you explain? I’d love to know more about it.” And more often than not, they’d be happy to explain (and this accumulation of answers helped me a LOT over the long term). But results wise, there was never another follow-up interview. Not in 2024 where competition is tougher than ever, that’s for sure. Some interviewers would just ignore my interest and say “no time, next question,” so I KNEW it was over.
Over the past year half, I knew I had to maintain a strict schedule in juggling books, interviews, job applications, LeetCode, actually building side projects, and catching up on the tech industry. I believe structure truly defines how far you’ll make it. ESPECIALLY when you’re unemployed, when it’s easy to go “okay let me just do that tomorrow” because you have all the time in the world.
To really get comfortable with these questions, especially with how broad and varied they can get, it felt like I had to prepare for a final exam. But instead of it being a final exam of a single course, it was the final exam of every single subject you took in college. I ended up resorting to flashcards – creating nearly a thousand of them, ensuring I could not just remember (and of course fully understand) the answer but also physically say the answer out loud while staring into my webcam. I started small and gradually added more and more, but it didn’t feel like it was helping for weeks. I think it was finally showing results however maybe four months in – admittedly however, I didn’t put as much effort in this compared to everything else.
Something else I had to work on steadily over the year – my actual speech and communication skills. Learning more about pacing, hand movement, smiling while talking, pauses before/while you talk, thinking out loud (this especially was a huge killer for me), constantly sitting up straight for confidence, etc. A lot of this feels SO awkward to me specifically when talking to strangers, especially people of authority. Practicing all this might have been harder than everything else mentioned honestly – it just felt so unnatural for me. Watching a video on speech (not just for interviews but in general too) on at minimum a weekly basis absolutely went a long way, but MAN was it SO uncomfortable. Pair this WITH actually answering the interview questions to the best of my ability, and it’s actually so much for my poor introverted brain to juggle. But it’s definitely gotten better over time!
All in all… it was a struggle… and I’m not excited for the next time I’m forced into the job market again. I feel like being able to maintain this knowledge, these skills, over the next couple of years for whenever I start interviewing again, is going to be key. And that’s going to require a lot of discipline as I go over all this material week after week, or maybe as month after month, for who knows how many years. But with the job market being tougher than ever, and layoffs still going on in current years, it’ll be a must if I want to go into the next job hunt prepared.
In future posts I plan on thought dumping on the books I studied, as well as the general interview process and job hunt. Stay tuned!
One thought on “A Forced Gap Year In the World of Tech [Part 1: The Questions]”