Firstly, keep in mind that on Betterment's blog site, they have a post about how they go about the interview process, and in my experience, they followed that process they describe online almost exactly. Read that, and you should have a good idea of what to expect.
1) I applied online through AngelList, I think; maybe LinkedIn?
2) Internal recruiter emailed to set up a phone screen largely focused on basic technical background and some personal position-fit questions re: what I'm looking for, my priorities, etc.
3) Within 3-4 days they had me complete a take-home coding challenge that consisted of a written design portion and the completion of an existing Android project. This part happened through the Byteboard platform, which worked pretty well.
4) They reached back out to set up a day full of on-site interviews, consisting of three pair programming sessions in the morning and 3 interviews (one with a PM and designer, one with an executive, and one with an engineering manager) in the afternoon, separated by an "AMA" lunch with a few other employees, which was pretty cool.
5) The one departure from the process in their blog post is that they had me come back the next week to reinterview (just a few hours of non-technical stuff; much shorter than the other one) with a more specific group of people from the team that I'd be joining. Got an offer a few days later.
Throughout the process, the technical recruiter, who was the guide through the whole thing, was very clear about timing expectations, and next steps.
The things that other people say here about being surprised to be asked about Ruby, wasn't the case for me. They didn't mention anything about Ruby ahead of time, and I didn't get any questions about Ruby. Everything I had to deal with technically, they gave me a heads up about, and there was nothing that wasn't directly related to Android development in Kotlin.