Background
After giving a lot of interviews in small and large companies, I’ve joined Branch International this month. As I’ve shared my past interview experiences here, I’m sharing this one too. My profile was shortlisted for the position of Senior Software Engineer through the Tophire platform. After that, their account executive contacted me. Once they finished, I was connected to a recruiter from Branch, who explained the company and the role to me. Those who do not know much about the company:
-
Branch is a registered non-banking financial company (NBFC) regulated by the RBI, offering services in India and select international markets
-
Branch’s fully-remote team is spread across India, the US, and Africa, bringing together diverse expertise.
-
We offer a range of financial solutions, including micro-loans and investment products, to help you achieve your financial goals
Interview Process
After speaking with the Tophire account manager and the company’s recruiter, these were the interview rounds:
-
Hiring Manager Conversation - This round was scheduled with the Chief Technology Officer. The aim of this round was to understand my current role, aspirations and what I am looking for in the next role. We discussed about my projects and about a few more technical things briefly. I took this as a chance to learn more about the company and their tech stack.
-
Technical Screening Round - This round was scheduled with a Senior Engineer from the India team. It consisted of two parts - a data structures problem (easy) and rapid questions and answers based on web. I solved the data structures problem on Coderpad platform where I could choose any language to implement the solution. I was able to wind up with a working solution in 18-20 mins. There were no modifications done in the problem statement to make it harder so we moved to the next part. The rapid fire QnA part was quite unique. The questions were related to databases, security, scalability, low-level design, authentication mechanisms, etc. No coding was required to answer these questions, but they were great for assessing someone’s experience in backend development.
-
Low Level Design Round - This round was scheduled with a Senior Engineer from the US team. The problem statement was designed in a way to see how would someone design APIs. I did not write any code in this round. We picked one problem and discussed how the APIs would look for that problem. Apart from a few APIs, rest of them were quite simple. In these (slightly complex) APIs, there were multiple ways to implement but I chose the RESTful method and explained the reasoning behind my decision. For a very specific requirement, I was also asked to write a SQL query.
-
High Level Design Round - This round was scheduled with an Engineering Manager from the India team. The problem statement was around one of their products. I started sketching the system after understanding the initial requirements. They asked about the role of each box (the service) in my design, the choice of database, protocols etc. After discussing each design decision in detail, we also discussed how I would test, deploy and monitor this system. We winded up the discussion in an hour.
-
Presentation Round - This round was very unique where I was asked to prepare a presentation on my past projects and present that in front of a panel. The panel included all the previous round interviewers, and a few more people. I had submitted the presentation to company recruiter few days before the round. I presented 3-4 major projects and the panel cross questioned me wherever they needed more details. According to their job description, this round was to better understand:
-
Verbal and written communication skills, and ability to handle questions,
-
Complexity and scale of work,
-
Ability to execute on a project, in particular around evaluating tradeoffs and making decisions
-
-
Final Discussion Round - After clearing all the rounds, the company recruiter informed me that they want to extend an offer and scheduled a call with the hiring manager again. During this call, the hiring manager asked for any feedback I had about the overall process. They explained the compensation structure, and I asked a few questions that I had noted down. They gave me time to think before accepting the offer.
Conclusion
After careful consideration, I accepted the offer and resigned from my position at LocoNav where I had worked for over six years. It was a tough decision to leave after spending such a long time. I joined Branch on June 3, 2024, and it has been great since then.