- Harsh Mishra
I came across HackerRank in my first semester at college — a platform that helps students and professionals to practice Data Structures and Algorithms questions. Apart from that, people also solve various language-specific problems to develop skills and participate in contests that involve fun coding challenges.
It was quite a surprise when I realized that HackerRank isn’t just a platform for developers to solve coding problems. They are a developers skills company, which also happens to be the first Y-combinator-backed Indian startup, and a hiring platform for companies who wish to host their online assessments, hiring challenges, and more.
I also realized that HackerRank has a lucrative engineer internship program that runs once yearly (now twice a year!). This motivation led me to apply for an internship at HackerRank and work for one of the largest and most scalable hiring platforms worldwide.
Fast forward to today — I completed my six-month internship at HackerRank as a Software Development Engineer (SDE) with the Editors & Platforms team. Though this 6-months of experience has been bittersweet, I cherish the time I spent with my team members while working around some of the toughest challenges in the hiring space.
In this blog, I will be describing my experience applying at HackerRank and working with some of the best engineers I have known.
The first time I came across an internship opening at HackerRank was in July/August 2020 for Winter Interns 2021. After going through all the openings, I decided to apply for the Technical Content Engineer (TCE) intern role with a decent knowledge of Data Structures & Algorithms, and experience of running competitive coding contests in my college. I received an online assessment for the role, which consisted of coding problems and content questions about our background and experience. I was not communicated after the evaluation, which was enough to understand that I was rejected!
After a brief hiatus, I saw openings at HackerRank again around April/May 2021 for internships. This time, I decided to apply for a Product Manager (PM) intern role because of my interest in the field and because I had some actionable skills through a cohort learning program that I was a part of. I was rejected again, and I went off to complete my Google Summer of Code project.
It's said that the third time's a charm. And this time, the luck was in my favor! Internship openings were available once again, and this time without a second thought, I applied to the standard Software Development Engineer (SDE) intern role available.
However, this time there were a few quirks — I had to make a resume using their HackerResume platform and had to solve three coding questions before I sent in my application. I received a message from Vaasavi (colloquially called "Super Boss" by all interns) about my application a few weeks later. I was going to meet Hari, the CTO of HackerRank for my first interview.
I would be damned if I would say that I was not nervous about the upcoming first interview with Harishankaran K, the co-founder, and CTO at HackerRank. However, based on my experience interviewing at other places, I was balanced and knew what and how I had to present. One of the patterns that I use for my interviews is the STAR interview response method, which came very handy while answering questions by showcasing concrete examples of the experience and skills that we possess.
The first interview was scheduled for 20-minutes and started with a simple introduction. Hari asked questions about my resume and my projects up until now. I gave an excellent walk-through of my various internships and the projects I built there.
One of my projects, called the Qxf2 Survey, was seemingly well received by him, and he asked multiple follow-up questions about my choice of technologies to their specific use-cases to test my understanding of them. The interview closed on a positive note. I received an email within an hour that I had been forwarded to the next interview round.
The following interview was with Rajesh Tiwary, the Engineering Manager at HackerRank (my going-to-be manager and mentor). While looking at his profile, I was impressed with his engineering expertise (while working at Oracle and other places).
Thanks to some help from the existing interns, I knew what was about to come. After multiple reschedules, I finally had a 20-minute interview with Rajesh, where I had to demonstrate two projects of mine. I presented my IPython Kernel for MetaCall Core (my GSoC ‘21 project) and SciPy’s CI-CD re-engineering.
This interview was more conversational as we discussed my interests and things I would like to work on. I also knew about some of the internal products being developed within HackerRank, which had intrigued me, and Rajesh gave me a primer about various initiatives within HackerRank.
After this interview, I got a call from Vaasavi and was offered to join as an SDE Intern from January 2022.
HackerRank is a remote-first company; hence our internship was to be entirely remote along with a week for off-site interactions at HackerRank’s office in Bangalore. HackerRank matched me with the Editors & Platforms team, and my mentor was Ameer Jhan. I was also going to work alongside Vivek, a co-intern in the same team, whom you might recognize for his Ubuntu-themed portfolio (damn, it was excellent!).
A few days before our start date, we received our work hardware (a 16-inch MacBook Pro M1, keyboard, mouse and an external monitor) and some HackerRank schwag (T-Shirts, Water Bottles, Stickers, Chocolates, Cookies and more). We also had a fun un-official meeting with all the selected interns, Vaasavi and Hari, on Zoom, where we discussed our plans.
The discussion was also insightful for another reason — We were required to call the shots for what we consider a successful internship. It made us think a lot, and almost all of the interns agreed that a successful internship requires a good amount of learning, exposure, and push-to-production.
One of the most nerve-wracking rituals we follow at HackerRank is that new joiners have to push to production on the first week of work itself. I was unsure what this push would be about, but Hari had everything figured out for us. We had to make a dummy PR to add our name to a simple HTML page over the HackerRank website, which we would then push to production.
I met my team within the first week — Aditya, Ankit, Bhushan, Debashish, Sandeep and our team’s product manager, Afzal. I also made my first contribution (a minor fix over a Zoom meet) to fix Docker build issues, and it was a delightful experience.
Since I was paired to work with the Editors & Platform team, I was supposed to develop Integrated Development Environment (IDE) solutions for HackerRank Work. HackerRank For Work (HRW) is the primary revenue source for HackerRank, wherein they help companies simplify their hiring processes using technology.
HRW also offers online IDEs (like Gitpod and CodeSandbox) to help developers run their code online and collaborate with interviewers on coding questions. While the job of the Editors team sounds easy in theory, the implementation was way more complex and challenging.
For the first few months, I worked on HackerRank's in-house browser-based bundling and preview library and simplified the CI pipeline for HackerRank's IDE variants for faster builds.
I also worked on multiple smaller Proofs-of-Concept using WebAssembly (WASM) for HackerRank's IDE solutions to enable running languages like Python entirely on the browser-side. It gave me a free-hand experience of working with various technologies like Typescript, Pyodide, WebAssembly, Google Container Registry and more.
In the second quarter of this year, we received yet another challenge — Collaboration for Data Science interviews. HackerRank has a sizable number of users who look forward to using Data Science interviews, and collaboration was one of the most crucial features they needed.
With an initial PoC from Ameer, I was assigned to work with Aditya on building this out. My experience of working in the Jupyter ecosystem with GSoC and Quansight helped me tremendously with this. At the same time, we went around devising the solution for it and upgrading the Data science interview experience.
Lastly, I worked on the brand-new Java-8 and Java-17 IDEs with my team-mate Sandeep which would give an all-new experience for candidates working with Java. We tracked all of the work we did on Jira, owned how many story points we assigned to them, and the time it would take us to deliver on it.
Every Friday, all the interns used to meet with Hari, where we discussed what we did, our contributions, and the overall impact we created, quantified in US Dollars, which was always tough to justify. Even more challenging was pointing out the negative feedback we had about the internship and the work we do, and what can be done to make the job more fun and easy!
One of the differences between my internship at HackerRank and other places is the number of fun activities we indulged in. My team had no standups on Friday. Hence we used to meet for "Facetimes", where we played many games and stuff to keep ourselves entertained and active. It involved playing Krunker, Counter-Strike (Ameer being an avid gamer), and more.
The People Ops team organized fun activities every month for HackerRank employees and interns to kill the boredom. I, along with my co-intern from Product team Hrithik, got to present a quiz game on Indian foods and cuisines, which involved people identifying the food in the picture or the description.
Designing the Interns page was one of the most fun and engaging activities during our entire internship. The "Interns page" is a memorial for all HackerRank interns, which hosts the pictures and personal information of everyone who has been a part of the internship batch at HackerRank.
This activity also has a challenge: If the interns can complete the intern's page before the deadline, we can make Hari fulfill a challenge for us. Before us, only one batch (Summer 2021 batch) had been able to defeat Hari, and we were excited to replicate the success.
This time the challenge put before us was a "5 dish vegetarian meal", which Hari would make if the interns happened to ship the Interns website. As planned, all interns divided themselves into multiple sections depending on their expertise. Within a few weeks, we could pull off a Slack-themed Interns website where you can interact with all the interns and get to know them and their preferences.
Check it out at hackerrank.com/interns/2022/winter/
Not just that, we developed a 3-Dimensional Office Tour of the HackerRank office (using our imagination — nothing on the scale) which you can tour on the Winter Interns 2022 website.
And yeah — We had a "Go-Hari-Go" game where Hari had to collect all the interns by unlocking them from Vaasavi's enchantment.
Overall, HackerRank had an easy, fun-going and relaxed working environment further augmented by energetic peers. HackerRank is also a place where you make real bondings with your team-mates and co-interns and overall growth as an individual.
All the interns received an opportunity to fly to Bangalore for a fully sponsored offsite week where everyone could meet each other and interact with their team. It was also the third time I was visiting the enigmatic city, and I was excited about what it would hold for me (after all the hype around moving to Bangalore).
At the office, we were received by our respective teams and mentors and started our work. However, the offsite wasn’t just about work — it was also about fun activities and having a lot of food (and beverages!).
We also happened to visit Area 83 adventure park, where we further indulged in many fun games, team-building activities, and team lunch. Our interns offsite overlapped with the Product off-site, allowing me to interact with Rajesh, my manager, and various Product & project managers.
And this was one of the best offline experiences I ever had — after two years of pandemic and work-from-home.
All good things come to an end. My internship at HackerRank allowed me to work with one of the best engineering teams I have known who are passionate about their work. In the final weeks of my internship, I received a Pre-Placement Offer (PPO) from HackerRank to join the Editors team as a full-time Software Development Engineer-1. However, due to existing commitments and offers, I had to turn down the opportunity and bid farewell to my teammates.
Working on a product that has scaled itself to millions of users and is destined to revolutionize the hiring space has shaped me into a better engineer overall. It has also given me unique insights into how products are shaped, analytics are used to drive decisions, and engineering is used to ship better outcomes.
For any undergraduate student, working at HackerRank is a one-in-a-lifetime opportunity, and I was glad of the opportunity to be a part of it. If you are interested in being a part of this rocketship, check out the HackerRank Careers page to apply for the role that suits you!