Applied online. First round was a timed coding challenge. After passing the coding challenge, a Skype interview was scheduled with the VP of engineering. Made recruiting aware of existing offer's tight deadline.
Skype interview was both technical and behavioral. Was given ample time to ask questions about the company and the product. Interviewer (VP of Engineering) made himself personally accountable for making sure the process would finish before my deadline and shared his email if I did not hear back in time.
Was given news shortly after that I made it to the next round which would be an onsite in-person interview. Given my short timeline, interview was quickly scheduled for two days later and flights were booked.
The next round was on-site, with all expenses including flight taken care of. On site interview consisted of multiple rounds of both technical (Algorithms/DS and OOP) and behavioral questions. Midway though the interview, there was a break for lunch. An engineer joined me for a casual lunch conversation which I was assured was not evaluated. It was an excellent way to get a feel for the culture (also, a much needed break from thinking).
After the interview, I was supposed to go out for coffee with a few engineers but the plan fell through. The recruiter felt pretty bad that I would miss this step as he thought it was an important part of the process for me to get to learn about Flatiron's culture. I felt a similar sentiment throughout the day and the interview process--it was equally important for me to evaluate the company as it was for the company to evaluate me.
Just about 24hrs after leaving the interview, my recruiter contacted me to give me the good news that I had received an offer. He immediately shared terms of the offer and also scheduled "reverse interviews." He explained reverse interviews as a way for me to ask anything I wanted to engineers--in a completely unscripted fashion. I found this as a great opportunity to get to ask additional questions (especially ones I would not have asked prior to receiving the offer).
Throughout the process, Flatiron and my recruiter were extremely accommodating to my specific circumstances and helpful in meeting my requests. After the initial set of reverse interviews, I had a few more concerns and my recruiter scheduled further conversations, culminating in a call with one of the founders.
My call with the founder was quite candid and personal. He was honest and open in helping me weigh my different opportunities. He wasn't afraid to hash out the legitimate pros/cons between my two offers, and he was unexpectedly forthright on the challenges I would encounter if I joined Flatiron.
For me, such directness and sincerity was the best selling point for me and what pushed me to accept my offer. I felt that flatiron realizes they have a good product and fees no need to sugar coat it further.