I was referred by a friend, then contacted by a recruiter. We spoke on the phone for half an hour to discuss why I was applying and to figure out what position I might be most suited for. There were no current openings, but I was told I would be contacted again if anything came up.
I was contacted a month later with an opportunity. Spoke to the recruiter again over the phone, then set up an hour long conversation with the head of the team I would be joining. He asked about my goals, my work process, my interest in joining the Broad and his team, etc. I asked about the position and team.
I then met with the head of the team in person over coffee and was invited to ask any questions I might have.
I was contacted and given a take home coding assessment to do in the language of my choice. The assessment could be done in my own time, in as much time as I wanted, in whichever language I wanted, and was not to be done on an online coding thing where they watch you. An onsite interview was scheduled where they told me they would go over my code, and then add a new requirement I would have to add in while live coding with them.
The onsite interview consisted of a 20 minute sit-down with the head of the team who encouraged me to be myself to the best of my ability, and to relax. I then had an hour long interview with 3 of the team members who asked me about myself, and asked me about coding projects I had done in the past. I then had a 45 minute lunch interview with the director of software and two other members of the team I would be joining where I was invited to ask any questions I might have, and where they asked me general questions about myself. Then had a one hour interview with three more members of the team where we went over my take home coding solution and they gave me feedback/asked me questions. They then gave me an additional requirement I had to add into my code and helped me during the live coding - I was welcome to ask any questions I might have, could bounce ideas off of them, etc. Then met with the recruiter for 20 minutes, followed by the team manager for another 15 asking me how it went, before he walked me out.
Overall, one of the best interview experiences I've had in my life. Extremely genuine, and they really seek to get to know you as a potential teammate rather than as just another candidate. They strove to provide a relaxed environment for me to be myself and show them my technical and social skills to the best of my ability.
Even though I did not get the position, the team manager invited me to meet and give me feedback, which I really appreciated.