Software Engineer
Where it all started โ learning to write code that ships.
The Beginning
My career began at a small Indian software company where I worked extensively with C++ and MFC (Microsoft Foundation Classes), which were widely used for Windows desktop development at the time. It was an environment where developers owned problems end-to-end โ from diagnosing crash reports to delivering the final fix in production.
Working directly with the Win32 APIs gave me a deep understanding of how systems function beneath higher-level abstractions. Memory management, message loops, and handle lifetimes were things you had to get right yourself โ there was no framework to shield you from mistakes.
Beyond development, I worked closely with pre-sales, customer support, and the company's CEO. I helped lead hardware procurement, selected RFID tags and related equipment, prepared technical proposals, and implemented library automation systems for clients. This role required not only building the software but also understanding the full operational environment in which it would run.
What I Created
- A fully customizable digital index card system for online library platforms, allowing libraries to structure and display catalog metadata according to their needs.
- A report generation and report-design module, enabling users to create, customize, and export operational and catalog reports from the system.
What I Learned
This chapter was about fundamentals: writing code that is correct before it is clever, reading someone else's code before touching it, and understanding that software lives or dies by the edge cases no one thought about.
The discipline of C++ โ strict types, deterministic destruction, zero hidden costs โ shaped how I think about software to this day, even when working in higher-level languages.