I applied to the company through StackOverflow. The application process itself took me to the first step of the interview, which was an online assessment. Completing the overall assessment which was both behavioural and technial in nature took me approximately 1-1.5 hour.
On passing the assessment, the Principal of the company contacted me via email and asked me to book an interview slot. On booking the slot, I got clear instructions on what I need to be ready with for the interview.
The first round was mostly behavioural in nature. At the end of it, I was given a take-home, and paid, technical assignment with 2 problems. I gave the time-estimate for the assignment the next day, and submitted the assignment on time. Review of the assignment took almost 1 week and the next round was scheduled almost 1.5 weeks after I gave in my submission.
In the second round, the Principal and another individual from the company were present. They asked me various questions about both problems and understood my approach towards these problems. Overall they seemed happy with the result and took the interview process to the next step.
The task for the next step was preparing a development plan and supporting technical-design artifacts for an actual project of the company. To start working on this, I had to sign an NDA in order to receive the required project-documents from the company. Studying these project-documents gave a good idea about how the company does their work. I gave the estimate for this task 1 day after receiving the project-documents, and submitted the output I produced for the task almost 2 weeks after that. This task was also paid, and the amount was much more than that of the first task. 1 week after my submission, I was invited for the third round.
In the third round, the Principal and the individual from the second round were present, and asked me various questions about my submission, which I was able to successfully answer. Again, the interviewers seemed quite pleased with my output. After slightly more than an hour of discussions, the Prinicipal scheduled a call for the next day to discuss the offer.
In the final call regarding the offer, the Principal clearly explained the company culture, what I can expect from the company, and what would be expected of me. He explained the compensation structure and made me an offer, which I accepted. I will start working with the company part-time in few days, and after serving the notice-period at my current company, I'll be joining them full time.