After five years at HackerRank, I'm moving on. I've been putting off writing this post for weeks, which probably tells you how I feel about it. ๐
I joined in 2021 thinking I knew what "at scale" meant. I'm leaving having led a frontend re-platforming, shipped AI features to real customers, and broken production more than once. This post is my attempt to write down what happened in between, mostly so I don't forget it.
๐ช How it started
Joining HackerRank was never the plan. I was at TCS, shipping products, and pretty happy there. I wasn't looking.
Then a recruiter emailed me. The subject line said your Github profile caught my eye. ๐
The first email. July 2021.
My honest first reaction was that I wouldn't get it. To me HackerRank wasn't really a company. It was the website I practiced on in a college lab, under a ceiling fan that didn't work, watching a timer count down while my hands sweated on the keyboard. It felt strange that the same platform was now asking me to come and help build it.
I replied anyway. I'm really glad I did.
๐ง Five years, roughly in order
I joined in November 2021, remote from Bengaluru at first and hybrid out of the office later. The codebase was far bigger than anything I had worked on before.
Year one was mostly reading. I had shipped six products at TCS and worked with around 150 freelance clients before that, so I thought I had a decent idea of scale. A monolith serving millions of assessments corrected that pretty quickly. My first few months went into reading code, reading incident channels, and learning which polite review comments actually meant "this won't hold up".
The middle years were when my job changed from writing code to owning outcomes. Picking up tickets turned into deciding what we shouldn't build, often in a room where the PM, the designer and the backend lead all disagreed with me. Sometimes I was right. Sometimes I was wrong in front of everyone and had to fix it fast. I learned from both.
The biggest lesson from those years isn't exciting: most of the value is in the boring work. The migration nobody wanted to own, the metric nobody was watching, the 400ms you shave off a page a million people load every day. On most days, good engineering looked a lot like maintenance. ๐ ๏ธ
The last stretch was AI, and it moved fast. In 2024 our team placed 2nd runner up in HackGPT 2.0, our internal hackathon, and I got to ship the MVP to production afterwards. It didn't stay a side project for long. Building LLM features for real users taught me that the model is rarely the hard part. The hard part is everything around it: getting a system that is sometimes wrong to behave well inside a product, for a recruiter who just wants their test published before a 3 PM call.
๐ค The people
Five years from now I won't remember the architecture diagrams. I'll remember the people.
A manager who let me be wrong without it costing me much. A designer who kept pushing back on my "good enough" until it was actually good. A backend engineer who spent forty minutes on a call walking me through a system that wasn't theirs to explain. Teammates who pinged me late at night just to say a release went well. ๐
My remote stretch could easily have been lonely. It wasn't, because the team showed up for the work and for each other over Zoom calls, Slack threads and far too many emoji reactions. By the time I was in the office regularly, it already felt like my team.
To everyone in those photos: thank you. Working with you changed how I build things. ๐
๐งฑ What I built
Some of the work I'm most glad I got to do:
- Test Creation and Editing (0 to 1). I led the design and build in React and TypeScript. It now powers 1.9M+ tests globally, cut the median time to publish a test by 61.7%, and reduced user drop off by 17%. It started as a blank Figma file and a lot of arguing.
- Breaking up the frontend monolith. I led four engineers in splitting our monolithic frontend into independent micro applications. Builds got 35% smaller, average page performance improved by 28%, and we got rid of a CI/CD bottleneck that had been slowing everyone down for years.
- AI assessment generation. I architected a GPT pipeline that turns a job description into a complete HackerRank test in 7 seconds. It used to take 3 days. The first time I watched it run end to end, I laughed out loud, alone in my room. ๐
- Internal AI agents. Support ticket and analytics agents built on LLM pipelines. Support resolution time went from 36 hours to 23.
- Certified Assessments (0 to 1). Took it from idea to launch. Adoption went up 52%, and it now standardizes 7% of all assessments on the platform.
- Leaked question detection. Automated detection and replacement of leaked questions, with 94% efficiency and a 52 minute average turnaround. Nobody sees it, but the integrity of every test depends on it.
- Performance First Engineering. I started this as a company wide effort: Core Web Vitals standards and architecture reviews across three product lines.
I also picked up two SPOT awards and a Kudos along the way. Still, the number I think about most is the 1.9 million tests.
๐ The part I'm proud of
If I had to pick one thing, it's this. Screen is HackerRank's technical assessment product, and I'm the #1 contributor on its two major surfaces, the Library pages and the Test pages. I wrote a lot of that code, reviewed even more of it, refactored it, broke it at 2 AM and fixed it by 3, and argued about its component boundaries more times than I can count.
Here are the numbers from GitHub, December 2021 to August 2026:
What I'm proud of isn't the line count. It's that the code kept working, for years, with real traffic on it, long after I stopped looking at it every day.
The other thing I'm proud of doesn't have a number. Somewhere along the way I stopped wanting to be the smartest person in a code review and started caring more about the review ending with the best answer. I think that made me a better engineer, and a much better teammate.
โ๏ธ Why I'm leaving
There's no dramatic reason. Nothing broke and nobody did anything wrong. Five years in, I could roughly see what the next five would look like here, and I want to try something I can't predict yet.
HackerRank gave me a lot of room. Room to own things end to end, to make mistakes in public, to start a performance effort nobody asked for, and to take an idea from a hackathon all the way to production. Having read plenty of job descriptions since, I know how rare that is.
To everyone still there: the codebase is in good hands. Be kind in reviews, ship the boring migration, and keep caring about performance.
And if you're reading this because a company you never expected to hear from just sent you a cold email: reply to it. I almost didn't. ๐
Thanks HackerRank ๐
Sourav Dey
souravdey.space ยท LinkedIn ยท GitHub
Originally published at souravdey.space.



Top comments (0)