Reflection On Interviews (last 9 months)

Since late December 2025, I participated in over 20 interviews. First, I tried maintaining a database of all success & failures but I gave up after a while. I only added entry to my Notion database when I went through at least one round successfully. I must have applied at over 100 places and heard back from 20 of them, gave interviews at 15 to 17 places, crossed half-way mark at 6 of them, and had offer from 3 of them. I was shooting for 5 to 10 YoE roles with larger scope if possible.

More importantly, I was looking for positions that were either fully remote or required at most one or two day in office with as little traveling as possible. This removed most of the usual suspect I’d have applied. I was pretty liberal in my applications. It is the best strategy when you have no other strategy.

It seems to me that the single most important factor in my success was whether someone read my resume carefully and liked something on it. At one place, they went through my GitHub and they liked what I saw. During interview, you can almost tell if someone has read your resume or just skimmed though it. When they read it, they jump quickly into the details of a project/work they liked. Since you are talking about things that you’ve done well in the past, you can easily set the tone of the interview. More importantly, you start your interview with a lot of headwinds in your favor.

Other important factor was a presence of a “friendly face” in the panel, especially if the interview is online (most of them were). You occasionally meet people who are unusually nice to strangers, and they try to help them you as much as possible. Perhaps they don’t like to see any kind of suffering in their midst. Bless their soul! Most people on interview panels are usually from schools where competition is a celebrated norm. Which means that they expect you to do handle anxiety and pressure well which I guess is fair if not ideal for me. Sadly, I am not one of those friendly face myself when I am in panel!

I had much better results when interviewers were senior engineer/manager and technically hands-on. These folks are usually more worried about maintaining and running a system than developing new features. The tone of the conversation is immediately set to an abstraction level where I articulate better. I am terrible when HR or non-tech person starts the conversation. I think I am getting better at it. The trick is to answer slowly and nothing more. You can’t have a conversation with a person you don’t share vocabulary/language.

I guess what I am saying that interviewing is a social process. And like every other social process, it is ridden with ambiguity. Things that are easier for other will be hard for you and vice versa. Quite a lot depends on figuring this part out that you can’t unless you had gone through enough interviews without feeling paralyzed. Like any other skill, you need to train for it. AI live interviews (audio mode) helped me a lot. The questions and feedback/response you get from the AI is not the point; the point is that you get to practice and get to notice occasional bullshit you say.


My recommendation is to start interviewing at places where you don’t have much interest in joining (though you’d never know) so rejection doesn’t take as much emotional toll. And you get to work your interview muscle before it matters. If you have friends who are going though interviews, team up.

If you are not getting good vibe from the team during interview, my recommendation is to not join them (if you have a choice, some job is better than no job). I know some people who are genuinely not very interested in interviewing even if they would be excellent co-workers but I don’t think it is worth the risk. “Vibes” reflect culture. Personally, I am against the practice where the team interviewing is different than team hiring you because this model is tilted in favor of large organization and can work against candidates who enjoy being part of a capable team.

For a principal/staff role, and perhaps even for a senior role, you’d do well not to show (or worse fake) interest in something that you’ve no decent experience which could be hard if you are a generalist. Sine they can genuinely find almost everything interesting. I see all of them as software problems, no matter how different is the domain. Whether you are like me or not, it’d help not to do this (perhaps except at early stage startups). Keep focus on things that you are interviewing for and link it to things that you have done before. Closer they match, better are the chances of success at senior role.

If you genuinely excited about the role without having too much experience (e.g. I’d give a shot at Oxide Computers despite not doing any hardware for last 9 years), you may need to clearly articulate why you are excited in football now even though you’ve played hockey, cricket etc. so far. Remember that money they ware willing to pay you correlated with what your are most skilled at and how well it aligns with the job at hand. If you are willing to take a pay-cut then by all means explore new (potentially nearby) territories. I don’t think playing cricket everyday makes you any better as hockey, just like solving puzzles everyday won’t make you any better at combinatorics, let alone at linear algebra. It just shows that you are a good athletes and have what it takes to become a good athlete but I am not paying a price of a good footballer to a no-matter-how-good hockey player. If you willing to come as a rookie football player, fine! I am not yet not convinced that a good generalist could be an excellent specialist with LLM.


Follow the classic advice: you can never over-prepare and work on your resume. I spent weekends preparing for interviews. A friend was going through interviews and helping them also helped me lot. I recommend going though videos that talks about interviews (e.g. Hello Interview channel) if you have not given interviews for a long time. It is good if someone keeps continuously remind you (CRY) what is important. The point behind these exercise to learn how to leave a better impression on people who are going to pay you. To do better, you need to practice. And you can always do better no matter how good you are. Besides, if you can’t put effort during interview, what signal you are sending to your interviewer that says the you gonna put effort in your job?

I’ve been pretty bad as resume, and I still think I am not great at it. I usually don’t find enough excitement working on it (except for occasional urge to use LaTeX). It is tricky to figure out what to add or remove from the resume and what to highlight. I have a resume of a generalist which works well at startup and small enterprises but not at large organizations. Large orgs look for a specific skill. This is a tradeoff I am yet to learn how to make properly.

Starting a New Job In March 2026

I’ll be starting a new job this March. At my new job, I’ll be working with distributed data, its security, and its resilience. I do hope that I get to write some Rust! I guess I also need to buy a few more books on distributed systems, microservices, and data engineering. And some pants to go to the office a few days a week.

I’ve made my peace with the fact that I need to specialize now — or rather have a specialized resume. That means saying goodbye to many things I’ve enjoyed indulging in the past, kernel and systems programming, numerical analysis, algorithm development, and more.

Most of my work experience has been in startups and academic labs. I co-founded one startup and spent six good years at it. It didn’t work out but I have no major complaints. I’ll probably try again someday when personal life is a bit less exciting. After that, I worked at another startup for almost a year. Each startup is entirely different and that makes them both exciting and dangerous. Exciting because you may encounter a totally new way of accomplishing something which you’ve never thought about. Dangerous because if something doesn’t work as well as you like, you have no easy escape. Unlike in large organizations where you can try to switch teams, at startups, you navigate the choppy waters or jump ship.

To me, equity and cutting-edge development or engineering work (in no particular order) are two good reasons to work at any startup. Though for every one unit of cutting-edge work you enjoy, there are typically nine to 999 units of drudgery involved. But that is totally fine. Being a professional doesn’t mean you have to like your job all the time to do it well.

So, after seven years in startups, I was looking for a more structured environment to specialize. I am perfectly fine being a small “specialized” cog in a giant machine where I could appreciate the satisfaction of a task well done. And it feels that the grass is greener on the other side? Reddit seems to agree.

Over the years, I’ve done many things: kernel components, patent filings, numerical simulators, web and Android apps, SDKs and libraries, DevOps, and people-ware such as hiring, designing office layouts, finding vendors, and fixing IKEA furniture. I speak Rust, C++, Python, C, PHP, and TeX fluently, and I’m passable in Haskell, Lua, Java, Kotlin, Scheme, and a few HDLs like Bluespec, Verilog, and VHDL. This makes for a good generalist profile, but no “specialized cog” in a giant machine needs most of that.

So, the first and the hardest problem was figuring out what I want to drop from my résumé so that a job application would actually invite interviews. I could see three to four specialised resumes in my current 12 YoE generalist resume with each having 3-6 YoE. I also need to consider the local economy and hiring patterns. Bengaluru isn’t a place where kernel or compiler developer jobs are easy to find compared to backend or app development roles. The former exist mostly in a few large organizations that follow very different hiring models from startups. I had to focus on my most recent experience and eventually settled on security, APIs, and Rust/C++ development work.

I started the process of writing a resume in late November 2025. Not out of ambivalence toward my current job but to prepare for the worst, and to build muscle memory. It took me more than three months of refining. I feel my résumé is in good shape. I’m not the most careful writer, so I need to reread my writing multiple times to ensure it’s readable. This becomes even more important for a résumé, which has to be succinct and speak clearly to a right audience. I worked on it at a slower pace: editing on weekdays, reading on weekends, and repeating the cycle. r/EngineeringResume has great advice on résumé writing. I also fed my résumé to ChatGPT and Gemini and asked for reviews. It was very useful early on—it helped refine things quite a bit and offered generic advice to tweak the résumé for specific job descriptions, which I rarely accepted. I found it very useful many times.

After a couple of months of reading, tweaking, and rereading my résumé, I felt confident enough to start applying more liberally. I shared my résumé with a few friends for referrals. I’m not always comfortable asking for help—I prefer to walk in through the front door.

I also started doing leetcode and enjoyed the challenge for a week. But soon I lost interest. I am never going to use those patterns at work. Earlier, I took courses in cybersecurity and project management and using a Coursera subscription, but only completed ones I genuinely enjoyed—for example, an excellent course in project management and a few others. I’m not sure if anyone ever looked at these certificates. These courses were a better time spent than streaming something on Netflix.

Things started picking up pace in late December. I got a few positive responses, which would fizzled out after I share my expected salary. Still, it gave me enough confidence to apply to larger organizations. In hindsight, I think I applied to Bunny CDN a bit too early with a weaker résumé—I would have loved to interview with them. Surprisingly, several places I thought would be interested never responded at all or responded very late.

In January, I received positive responses from some large or mid-to-large enterprises: Cloudflare, Toyota, Veeam, HPE, and AMD. Cloudflare, Veeam, and Toyota moved quickly. I missed Cloudflare’s second round but didn’t get another chance to reschedule. I’m still embarrassed about that mistake and also disappointed that Cloudflare didn’t respond to the request to reschedule. My interview experiences at Toyota and Veeam were the best. No one showed up for my scheduled interview at HPE (PS: They called again and promise to reschedule again but I didn’t get any email!)! I declined an interview with AMD after accepting the offer from Veeam. I’m still waiting to hear back from Toyota about the final offer. Things can suddenly move very slowly at large enterprises.

After receiving one offer, I stopped applying for similar role but thought of finishing the other ongoing interviews. How I prepared for interviews is another story. The short answer is, you can never over prepare and you must spend enough time preparing. There are some excellent resources on YouTube. I’ve nothing interesting to add here.

I wasn’t planning to resign from my current job even after receiving any offer. I had significant equity, and the founders are genuinely nice people. My issues were with the day-to-day work and the nature of the organization. I never felt like I was in an engineering org, but rather in a “science” org that think in terms of projects. I like to think in terms of “product” and the word “project” sounds almost philosophical to me (full disclaimer: I’ve a PhD in system biology so I know what “project” means.) While engineering is mostly about maintaining and refining a product or a working solution, academia is mostly about “publish and let it rot” (project). And that’s why I don’t get excited about the word “project”! To be fair, academic incentives are mostly “I was here first, don’t pee on this territory” kind and not “lets build a usable product so folks will pay us money” kind! A few minor developments nudged me to resign before having an offer in hand. I thought resigning will help me focus on the interview process. Fortunately, things worked out well for me and I got an offer after a couple of weeks of resigning. I wouldn’t recommend this route to everyone since interviews are social processes and things can go south very easily even when interviews look very promising.

I also interviewed at a few cybersecurity based startups in growing phase for IC roles. I was taken aback by the LeetCode-style questions for senior positions. I had expected discussions around real security problems they were hiring me to solve. Maybe I just hate LeetCode because I don’t do well in live interview settings and it’s easy to criticize what you’re not good at. I also posted on HN (the “Who Wants to Be Hired” thread). Surprisingly, someone from KLA Chennai responded positively. With KLA, I had the most energetic introduction and screening call ever. I felt that they are thinking very highly of me. I was disappointed that I didn’t perform well enough on their technical assessment (HPC, C/C++) to move forward.

There were also some funny—or irritating, depending on your perspective—experiences. At one European startup with an office in Bengaluru, I was interviewed for two different job descriptions in two separate rounds. I was also asked to write code in Google Docs! At another early-stage startup, they asked me for my high-school board and marks (founder worked at Byju’s!). I tried to keep a straight face. I guess it takes all kinds.