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.